use of org.olat.group.ui.wizard.BGCopyPreparationStep in project OpenOLAT by OpenOLAT.
the class AbstractBusinessGroupListController method doCopy.
/**
* Make copies of a list of business groups
* @param ureq
* @param items
*/
private void doCopy(UserRequest ureq, List<? extends BusinessGroupRef> items) {
removeAsListenerAndDispose(businessGroupWizard);
if (items == null || items.isEmpty()) {
showWarning("error.select.one");
return;
}
List<BusinessGroup> groups = toBusinessGroups(ureq, items, true);
if (groups.isEmpty()) {
showWarning("msg.alleastone.editable.group");
return;
}
if (items.size() != groups.size()) {
showWarning("msg.only.editable.group");
return;
}
boolean enableCoursesCopy = businessGroupService.hasResources(groups);
boolean enableAreasCopy = areaManager.countBGAreasOfBusinessGroups(groups) > 0;
boolean enableRightsCopy = rightManager.hasBGRight(groups);
Step start = new BGCopyPreparationStep(ureq, groups, enableCoursesCopy, enableAreasCopy, enableRightsCopy);
StepRunnerCallback finish = new StepRunnerCallback() {
@Override
public Step execute(UserRequest uureq, WindowControl wControl, StepsRunContext runContext) {
@SuppressWarnings("unchecked") List<BGCopyBusinessGroup> copies = (List<BGCopyBusinessGroup>) runContext.get("groupsCopy");
if (copies != null && !copies.isEmpty()) {
boolean copyAreas = convertToBoolean(runContext, "areas");
boolean copyCollabToolConfig = convertToBoolean(runContext, "tools");
boolean copyRights = convertToBoolean(runContext, "rights");
boolean copyOwners = convertToBoolean(runContext, "owners");
boolean copyParticipants = convertToBoolean(runContext, "participants");
boolean copyMemberVisibility = convertToBoolean(runContext, "membersvisibility");
boolean copyWaitingList = convertToBoolean(runContext, "waitingList");
boolean copyRelations = convertToBoolean(runContext, "resources");
for (BGCopyBusinessGroup copy : copies) {
businessGroupService.copyBusinessGroup(getIdentity(), copy.getOriginal(), copy.getName(), copy.getDescription(), copy.getMinParticipants(), copy.getMaxParticipants(), copyAreas, copyCollabToolConfig, copyRights, copyOwners, copyParticipants, copyMemberVisibility, copyWaitingList, copyRelations);
}
return StepsMainRunController.DONE_MODIFIED;
} else {
return StepsMainRunController.DONE_UNCHANGED;
}
}
};
businessGroupWizard = new StepsMainRunController(ureq, getWindowControl(), start, finish, null, translate("copy.group"), "o_sel_group_copy_wizard");
listenTo(businessGroupWizard);
getWindowControl().pushAsModalDialog(businessGroupWizard.getInitialComponent());
}
use of org.olat.group.ui.wizard.BGCopyPreparationStep in project openolat by klemens.
the class AbstractBusinessGroupListController method doCopy.
/**
* Make copies of a list of business groups
* @param ureq
* @param items
*/
private void doCopy(UserRequest ureq, List<? extends BusinessGroupRef> items) {
removeAsListenerAndDispose(businessGroupWizard);
if (items == null || items.isEmpty()) {
showWarning("error.select.one");
return;
}
List<BusinessGroup> groups = toBusinessGroups(ureq, items, true);
if (groups.isEmpty()) {
showWarning("msg.alleastone.editable.group");
return;
}
if (items.size() != groups.size()) {
showWarning("msg.only.editable.group");
return;
}
boolean enableCoursesCopy = businessGroupService.hasResources(groups);
boolean enableAreasCopy = areaManager.countBGAreasOfBusinessGroups(groups) > 0;
boolean enableRightsCopy = rightManager.hasBGRight(groups);
Step start = new BGCopyPreparationStep(ureq, groups, enableCoursesCopy, enableAreasCopy, enableRightsCopy);
StepRunnerCallback finish = new StepRunnerCallback() {
@Override
public Step execute(UserRequest uureq, WindowControl wControl, StepsRunContext runContext) {
@SuppressWarnings("unchecked") List<BGCopyBusinessGroup> copies = (List<BGCopyBusinessGroup>) runContext.get("groupsCopy");
if (copies != null && !copies.isEmpty()) {
boolean copyAreas = convertToBoolean(runContext, "areas");
boolean copyCollabToolConfig = convertToBoolean(runContext, "tools");
boolean copyRights = convertToBoolean(runContext, "rights");
boolean copyOwners = convertToBoolean(runContext, "owners");
boolean copyParticipants = convertToBoolean(runContext, "participants");
boolean copyMemberVisibility = convertToBoolean(runContext, "membersvisibility");
boolean copyWaitingList = convertToBoolean(runContext, "waitingList");
boolean copyRelations = convertToBoolean(runContext, "resources");
for (BGCopyBusinessGroup copy : copies) {
businessGroupService.copyBusinessGroup(getIdentity(), copy.getOriginal(), copy.getName(), copy.getDescription(), copy.getMinParticipants(), copy.getMaxParticipants(), copyAreas, copyCollabToolConfig, copyRights, copyOwners, copyParticipants, copyMemberVisibility, copyWaitingList, copyRelations);
}
return StepsMainRunController.DONE_MODIFIED;
} else {
return StepsMainRunController.DONE_UNCHANGED;
}
}
};
businessGroupWizard = new StepsMainRunController(ureq, getWindowControl(), start, finish, null, translate("copy.group"), "o_sel_group_copy_wizard");
listenTo(businessGroupWizard);
getWindowControl().pushAsModalDialog(businessGroupWizard.getInitialComponent());
}
Aggregations