Skip to content
Snippets Groups Projects
Commit 807fc963 authored by srosse's avatar srosse
Browse files

OO-670: preselect participant if there is only 1 group or 1 repository entry,...

OO-670: preselect participant if there is only 1 group or 1 repository entry, add a warning if the user miss to select a role
parent 4f3010e5
No related branches found
No related tags found
No related merge requests found
...@@ -63,6 +63,25 @@ public class ImportMemberPermissionChoiceController extends StepFormBasicControl ...@@ -63,6 +63,25 @@ public class ImportMemberPermissionChoiceController extends StepFormBasicControl
fireEvent (ureq, StepsEvent.ACTIVATE_NEXT); fireEvent (ureq, StepsEvent.ACTIVATE_NEXT);
} }
@Override
protected boolean validateFormLogic(UserRequest ureq) {
boolean allOk = true;
MemberPermissionChangeEvent e = new MemberPermissionChangeEvent(null);
permissionCtrl.collectRepoChanges(e);
permissionCtrl.collectGroupChanges(e);
int size = e.size();
flc.contextRemove("off_warn");
if(size == 0) {
String warning = translate("error.select.role");
flc.contextPut("off_warn", warning);
allOk &= false;
}
return allOk & super.validateFormLogic(ureq);
}
@Override @Override
protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
formLayout.add(permissionCtrl.getInitialFormItem()); formLayout.add(permissionCtrl.getInitialFormItem());
......
...@@ -7,4 +7,5 @@ import.mail.title=E-Mail-Benachrichtigung ...@@ -7,4 +7,5 @@ import.mail.title=E-Mail-Benachrichtigung
form.names.example=test01<br/>author02<br/>$org.olat.user.propertyhandlers\:import.example.institutionalUserIdentifier form.names.example=test01<br/>author02<br/>$org.olat.user.propertyhandlers\:import.example.institutionalUserIdentifier
form.addusers=Benutzername, $org.olat.user.propertyhandlers\:table.name.email oder $org.olat.user.propertyhandlers\:table.name.institutionalUserIdentifier form.addusers=Benutzername, $org.olat.user.propertyhandlers\:table.name.email oder $org.olat.user.propertyhandlers\:table.name.institutionalUserIdentifier
table.user.login=$org.olat.group.ui.main\:table.header.login table.user.login=$org.olat.group.ui.main\:table.header.login
user.notfound=$org.olat.group.ui.main\:user.notfound user.notfound=$org.olat.group.ui.main\:user.notfound
\ No newline at end of file error.select.role=Sie mssen mindestens eine Rolle whlen
\ No newline at end of file
...@@ -8,3 +8,4 @@ import.mail.title=E-Mail notification ...@@ -8,3 +8,4 @@ import.mail.title=E-Mail notification
import.permission.title=Rights import.permission.title=Rights
table.user.login=$org.olat.group.ui.main\:table.header.login table.user.login=$org.olat.group.ui.main\:table.header.login
user.notfound=$org.olat.group.ui.main\:user.notfound user.notfound=$org.olat.group.ui.main\:user.notfound
error.select.role=You must select a role at least
...@@ -164,6 +164,21 @@ public class EditMembershipController extends FormBasicController { ...@@ -164,6 +164,21 @@ public class EditMembershipController extends FormBasicController {
resource = repoEntry.getOlatResource(); resource = repoEntry.getOlatResource();
} }
List<BusinessGroupView> groups = businessGroupService.findBusinessGroupViews(params, resource, 0, -1); List<BusinessGroupView> groups = businessGroupService.findBusinessGroupViews(params, resource, 0, -1);
boolean defaultMembership = false;
if(member == null) {
if(repoEntry != null && groups.isEmpty()) {
boolean managed = RepositoryEntryManagedFlag.isManaged(repoEntry, RepositoryEntryManagedFlag.membersmanagement);
if(!managed) {
repoRightsEl.select("participant", true);
}
} else if(repoEntry == null && groups.size() == 1) {
boolean managed = BusinessGroupManagedFlag.isManaged(groups.get(0).getManagedFlags(), BusinessGroupManagedFlag.membersmanagement);
if(!managed) {
defaultMembership = true;
}
}
}
List<Long> businessGroupKeys = PersistenceHelper.toKeys(groups); List<Long> businessGroupKeys = PersistenceHelper.toKeys(groups);
groupMemberships = member == null ? groupMemberships = member == null ?
...@@ -174,7 +189,7 @@ public class EditMembershipController extends FormBasicController { ...@@ -174,7 +189,7 @@ public class EditMembershipController extends FormBasicController {
MemberOption option = new MemberOption(group); MemberOption option = new MemberOption(group);
BGPermission bgPermission = PermissionHelper.getPermission(group.getKey(), member, groupMemberships); BGPermission bgPermission = PermissionHelper.getPermission(group.getKey(), member, groupMemberships);
option.setTutor(createSelection(bgPermission.isTutor(), !managed)); option.setTutor(createSelection(bgPermission.isTutor(), !managed));
option.setParticipant(createSelection(bgPermission.isParticipant(), !managed)); option.setParticipant(createSelection(bgPermission.isParticipant() || defaultMembership, !managed));
boolean waitingListEnable = !managed && group.getWaitingListEnabled() != null && group.getWaitingListEnabled().booleanValue(); boolean waitingListEnable = !managed && group.getWaitingListEnabled() != null && group.getWaitingListEnabled().booleanValue();
option.setWaiting(createSelection(bgPermission.isWaitingList(), waitingListEnable)); option.setWaiting(createSelection(bgPermission.isWaitingList(), waitingListEnable));
options.add(option); options.add(option);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment