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

OO-291: change the behavior of the buttons in "User admin > User > Groups >...

OO-291: change the behavior of the buttons in "User admin > User > Groups > Add to groups". The search is activated by enter in the popup but not in the wizard
parent 9e546279
No related branches found
No related tags found
No related merge requests found
...@@ -35,6 +35,7 @@ import org.olat.core.gui.components.form.flexible.elements.TextElement; ...@@ -35,6 +35,7 @@ import org.olat.core.gui.components.form.flexible.elements.TextElement;
import org.olat.core.gui.components.form.flexible.impl.Form; import org.olat.core.gui.components.form.flexible.impl.Form;
import org.olat.core.gui.components.form.flexible.impl.FormEvent; import org.olat.core.gui.components.form.flexible.impl.FormEvent;
import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer; import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer;
import org.olat.core.gui.components.form.flexible.impl.elements.FormSubmit;
import org.olat.core.gui.components.form.flexible.impl.elements.MultipleSelectionElementImpl; import org.olat.core.gui.components.form.flexible.impl.elements.MultipleSelectionElementImpl;
import org.olat.core.gui.components.form.flexible.impl.elements.table.DefaultFlexiColumnModel; import org.olat.core.gui.components.form.flexible.impl.elements.table.DefaultFlexiColumnModel;
import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel; import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel;
...@@ -69,7 +70,8 @@ import org.olat.group.ui.BusinessGroupTableModel; ...@@ -69,7 +70,8 @@ import org.olat.group.ui.BusinessGroupTableModel;
public class GroupSearchController extends StepFormBasicController { public class GroupSearchController extends StepFormBasicController {
private TextElement search; private TextElement search;
private FormLink searchButton; private FormSubmit searchButton;
private FormLink saveLink, searchLink;
private FormItem errorComp; private FormItem errorComp;
private FormLayoutContainer tableCont; private FormLayoutContainer tableCont;
private GroupTableDataModel tableDataModel; private GroupTableDataModel tableDataModel;
...@@ -105,8 +107,11 @@ public class GroupSearchController extends StepFormBasicController { ...@@ -105,8 +107,11 @@ public class GroupSearchController extends StepFormBasicController {
setFormDescription("group.search.description"); setFormDescription("group.search.description");
search = uifactory.addTextElement("search.field", "search.field", 100, "", formLayout); search = uifactory.addTextElement("search.field", "search.field", 100, "", formLayout);
searchButton = uifactory.addFormLink("search", formLayout, Link.BUTTON_SMALL);
if (!isUsedInStepWizzard()) { if (isUsedInStepWizzard()) {
searchLink = uifactory.addFormLink("search", formLayout, Link.BUTTON);
} else {
searchButton = uifactory.addFormSubmitButton("search", formLayout);
uifactory.addSpacerElement("space", formLayout, false); uifactory.addSpacerElement("space", formLayout, false);
} }
...@@ -131,18 +136,40 @@ public class GroupSearchController extends StepFormBasicController { ...@@ -131,18 +136,40 @@ public class GroupSearchController extends StepFormBasicController {
tableCont.add("groupList", table); tableCont.add("groupList", table);
if (!isUsedInStepWizzard()) { if (!isUsedInStepWizzard()) {
uifactory.addFormSubmitButton("save", formLayout); saveLink = uifactory.addFormLink("save", formLayout, Link.BUTTON);
}
}
/**
* @see org.olat.core.gui.components.form.flexible.impl.FormBasicController#formOK(org.olat.core.gui.UserRequest)
*/
@Override
protected void formOK(UserRequest ureq) {
if(isUsedInStepWizzard()) {
doSave(ureq);//in wizard form OK == next
} else {
doSearchGroups(ureq);
} }
} }
@Override @Override
protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) { protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) {
if (source == searchButton || source == search) { if (source == searchButton || source == searchLink || source == search) {
String searchValue = search.getValue(); doSearchGroups(ureq);
doSearchGroups(searchValue, ureq); } else if(source == saveLink) {
lastSearchValue = searchValue; if(validateFormLogic(ureq)) {
doSave(ureq);
}
} else {
super.formInnerEvent(ureq, source, event);
} }
} }
private void doSearchGroups(UserRequest ureq) {
String searchValue = search.getValue();
doSearchGroups(searchValue, ureq);
lastSearchValue = searchValue;
}
/** /**
* Perform a search for the given search value in the search result providers * Perform a search for the given search value in the search result providers
...@@ -202,7 +229,7 @@ public class GroupSearchController extends StepFormBasicController { ...@@ -202,7 +229,7 @@ public class GroupSearchController extends StepFormBasicController {
if (isUsedInStepWizzard()) { if (isUsedInStepWizzard()) {
return true; return true;
} }
if ((lastSearchValue == null && !StringHelper.containsNonWhitespace(searchValue)) if ((lastSearchValue == null && StringHelper.containsNonWhitespace(searchValue))
|| (lastSearchValue != null && !lastSearchValue.equals(searchValue))) { || (lastSearchValue != null && !lastSearchValue.equals(searchValue))) {
// User pressed enter in input field to search for groups, no group // User pressed enter in input field to search for groups, no group
// selected yet. Just search for groups that matches for this input // selected yet. Just search for groups that matches for this input
...@@ -220,12 +247,8 @@ public class GroupSearchController extends StepFormBasicController { ...@@ -220,12 +247,8 @@ public class GroupSearchController extends StepFormBasicController {
} }
return result; return result;
} }
/** private void doSave(UserRequest ureq) {
* @see org.olat.core.gui.components.form.flexible.impl.FormBasicController#formOK(org.olat.core.gui.UserRequest)
*/
@Override
protected void formOK(UserRequest ureq) {
List<Long> ownerGroups = getCheckedTutorKeys(); List<Long> ownerGroups = getCheckedTutorKeys();
List<Long> partGroups = getCheckedParticipantKeys(); List<Long> partGroups = getCheckedParticipantKeys();
List<Long> mailGroups = getCheckedMailKeys(); List<Long> mailGroups = getCheckedMailKeys();
...@@ -246,7 +269,7 @@ public class GroupSearchController extends StepFormBasicController { ...@@ -246,7 +269,7 @@ public class GroupSearchController extends StepFormBasicController {
fireEvent(ureq, StepsEvent.ACTIVATE_NEXT); fireEvent(ureq, StepsEvent.ACTIVATE_NEXT);
} else { } else {
fireEvent(ureq, new AddToGroupsEvent(ownerGroups, partGroups, mailGroups)); fireEvent(ureq, new AddToGroupsEvent(ownerGroups, partGroups, mailGroups));
} }
} }
private List<Long> getCheckedTutorKeys() { private List<Long> getCheckedTutorKeys() {
......
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