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

OO-291: wizard to import users in a course

parent 8e137e92
No related branches found
No related tags found
No related merge requests found
Showing
with 611 additions and 14 deletions
...@@ -72,7 +72,8 @@ import org.olat.user.UserManager; ...@@ -72,7 +72,8 @@ import org.olat.user.UserManager;
public abstract class AbstractMemberListController extends BasicController { public abstract class AbstractMemberListController extends BasicController {
public static final String TABLE_ACTION_EDIT = "tbl_edit"; public static final String TABLE_ACTION_EDIT = "tbl_edit";
public static final String TABLE_ACTION_REMOVE = "tbl_REMOVE"; public static final String TABLE_ACTION_MAIL = "tbl_mail";
public static final String TABLE_ACTION_REMOVE = "tbl_remove";
protected final MemberListTableModel memberListModel; protected final MemberListTableModel memberListModel;
protected final TableController memberListCtr; protected final TableController memberListCtr;
...@@ -80,7 +81,7 @@ public abstract class AbstractMemberListController extends BasicController { ...@@ -80,7 +81,7 @@ public abstract class AbstractMemberListController extends BasicController {
private DialogBoxController leaveDialogBox; private DialogBoxController leaveDialogBox;
protected CloseableModalController cmc; protected CloseableModalController cmc;
private EditMemberController editMemberCtrl; private EditMembershipController editMemberCtrl;
private final UserManager userManager; private final UserManager userManager;
private final RepositoryEntry repoEntry; private final RepositoryEntry repoEntry;
...@@ -109,8 +110,13 @@ public abstract class AbstractMemberListController extends BasicController { ...@@ -109,8 +110,13 @@ public abstract class AbstractMemberListController extends BasicController {
int numOfColumns = initColumns(); int numOfColumns = initColumns();
memberListModel = new MemberListTableModel(numOfColumns); memberListModel = new MemberListTableModel(numOfColumns);
memberListCtr.setTableDataModel(memberListModel); memberListCtr.setTableDataModel(memberListModel);
memberListCtr.setMultiSelect(true);
memberListCtr.addMultiSelectAction("table.header.edit", TABLE_ACTION_EDIT);
memberListCtr.addMultiSelectAction("table.header.mail", TABLE_ACTION_MAIL);
memberListCtr.addMultiSelectAction("table.header.remove", TABLE_ACTION_REMOVE);
mainVC.put("memberList", memberListCtr.getInitialComponent()); mainVC.put("memberList", memberListCtr.getInitialComponent());
putInitialPanel(mainVC); putInitialPanel(mainVC);
} }
...@@ -156,6 +162,10 @@ public abstract class AbstractMemberListController extends BasicController { ...@@ -156,6 +162,10 @@ public abstract class AbstractMemberListController extends BasicController {
List<MemberView> selectedItems = memberListModel.getObjects(te.getSelection()); List<MemberView> selectedItems = memberListModel.getObjects(te.getSelection());
if(TABLE_ACTION_REMOVE.equals(te.getAction())) { if(TABLE_ACTION_REMOVE.equals(te.getAction())) {
confirmDelete(ureq, selectedItems); confirmDelete(ureq, selectedItems);
} else if(TABLE_ACTION_EDIT.equals(te.getAction())) {
//TODO
}if(TABLE_ACTION_MAIL.equals(te.getAction())) {
//TODO
} }
} }
} else if (source == leaveDialogBox) { } else if (source == leaveDialogBox) {
...@@ -208,7 +218,7 @@ public abstract class AbstractMemberListController extends BasicController { ...@@ -208,7 +218,7 @@ public abstract class AbstractMemberListController extends BasicController {
protected void openEdit(UserRequest ureq, MemberView member) { protected void openEdit(UserRequest ureq, MemberView member) {
Identity identity = securityManager.loadIdentityByKey(member.getIdentityKey()); Identity identity = securityManager.loadIdentityByKey(member.getIdentityKey());
editMemberCtrl = new EditMemberController(ureq, getWindowControl(), identity, repoEntry); editMemberCtrl = new EditMembershipController(ureq, getWindowControl(), identity, repoEntry);
listenTo(editMemberCtrl); listenTo(editMemberCtrl);
cmc = new CloseableModalController(getWindowControl(), translate("close"), editMemberCtrl.getInitialComponent(), cmc = new CloseableModalController(getWindowControl(), translate("close"), editMemberCtrl.getInitialComponent(),
true, translate("edit.member")); true, translate("edit.member"));
......
...@@ -30,6 +30,7 @@ import org.olat.core.commons.persistence.PersistenceHelper; ...@@ -30,6 +30,7 @@ import org.olat.core.commons.persistence.PersistenceHelper;
import org.olat.core.gui.UserRequest; import org.olat.core.gui.UserRequest;
import org.olat.core.gui.components.form.flexible.FormItemContainer; import org.olat.core.gui.components.form.flexible.FormItemContainer;
import org.olat.core.gui.components.form.flexible.elements.MultipleSelectionElement; import org.olat.core.gui.components.form.flexible.elements.MultipleSelectionElement;
import org.olat.core.gui.components.form.flexible.impl.Form;
import org.olat.core.gui.components.form.flexible.impl.FormBasicController; import org.olat.core.gui.components.form.flexible.impl.FormBasicController;
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.MultipleSelectionElementImpl; import org.olat.core.gui.components.form.flexible.impl.elements.MultipleSelectionElementImpl;
...@@ -56,11 +57,11 @@ import org.olat.repository.model.RepositoryEntryMembership; ...@@ -56,11 +57,11 @@ import org.olat.repository.model.RepositoryEntryMembership;
* *
* @author srosse, stephane.rosse@frentix.com, http://www.frentix.com * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
*/ */
public class EditMemberController extends FormBasicController { public class EditMembershipController extends FormBasicController {
private EditMemberTableDataModel tableDataModel; private EditMemberTableDataModel tableDataModel;
private MultipleSelectionElement repoRightsEl; private MultipleSelectionElement repoRightsEl;
private final MemberInfoController infoController; private MemberInfoController infoController;
private static final String[] repoRightsKeys = {"owner", "tutor", "participant"}; private static final String[] repoRightsKeys = {"owner", "tutor", "participant"};
...@@ -75,7 +76,7 @@ public class EditMemberController extends FormBasicController { ...@@ -75,7 +76,7 @@ public class EditMemberController extends FormBasicController {
private static final String[] keys = new String[] { "ison" }; private static final String[] keys = new String[] { "ison" };
private static final String[] values = new String[] {""}; private static final String[] values = new String[] {""};
public EditMemberController(UserRequest ureq, WindowControl wControl, Identity member, public EditMembershipController(UserRequest ureq, WindowControl wControl, Identity member,
RepositoryEntry repoEntry) { RepositoryEntry repoEntry) {
super(ureq, wControl, "edit_member"); super(ureq, wControl, "edit_member");
this.member = member; this.member = member;
...@@ -90,11 +91,27 @@ public class EditMemberController extends FormBasicController { ...@@ -90,11 +91,27 @@ public class EditMemberController extends FormBasicController {
loadModel(member); loadModel(member);
} }
public EditMembershipController(UserRequest ureq, WindowControl wControl, List<Identity> members,
RepositoryEntry repoEntry, Form rootForm) {
super(ureq, wControl, LAYOUT_CUSTOM, "edit_member", rootForm);
this.member = null;
this.repoEntry = repoEntry;
repositoryManager = CoreSpringFactory.getImpl(RepositoryManager.class);
businessGroupService = CoreSpringFactory.getImpl(BusinessGroupService.class);
memberships = Collections.emptyList();
initForm(ureq);
loadModel(member);
}
private void loadModel(Identity member) { private void loadModel(Identity member) {
List<BusinessGroupView> groups = businessGroupService.findBusinessGroupViews(null, repoEntry.getOlatResource(), 0, -1); List<BusinessGroupView> groups = businessGroupService.findBusinessGroupViews(null, repoEntry.getOlatResource(), 0, -1);
List<Long> businessGroupKeys = PersistenceHelper.toKeys(groups); List<Long> businessGroupKeys = PersistenceHelper.toKeys(groups);
groupMemberships = businessGroupService.getBusinessGroupMembership(businessGroupKeys, member); groupMemberships = member == null ?
Collections.<BusinessGroupMembership>emptyList() : businessGroupService.getBusinessGroupMembership(businessGroupKeys, member);
List<MemberOption> options = new ArrayList<MemberOption>(); List<MemberOption> options = new ArrayList<MemberOption>();
for(BusinessGroupView group:groups) { for(BusinessGroupView group:groups) {
MemberOption option = new MemberOption(group); MemberOption option = new MemberOption(group);
...@@ -122,7 +139,9 @@ public class EditMemberController extends FormBasicController { ...@@ -122,7 +139,9 @@ public class EditMemberController extends FormBasicController {
if(formLayout instanceof FormLayoutContainer) { if(formLayout instanceof FormLayoutContainer) {
FormLayoutContainer layoutCont = (FormLayoutContainer)formLayout; FormLayoutContainer layoutCont = (FormLayoutContainer)formLayout;
layoutCont.put("infos", infoController.getInitialComponent()); if(infoController != null) {
layoutCont.put("infos", infoController.getInitialComponent());
}
String title = translate("edit.member.title", new String[]{ repoEntry.getDisplayname() }); String title = translate("edit.member.title", new String[]{ repoEntry.getDisplayname() });
layoutCont.contextPut("editTitle", title); layoutCont.contextPut("editTitle", title);
...@@ -133,10 +152,12 @@ public class EditMemberController extends FormBasicController { ...@@ -133,10 +152,12 @@ public class EditMemberController extends FormBasicController {
translate("role.owner"), translate("role.tutor"), translate("role.participant") translate("role.owner"), translate("role.tutor"), translate("role.participant")
}; };
repoRightsEl = uifactory.addCheckboxesVertical("repoRights", formLayout, repoRightsKeys, repoValues, null, 1); repoRightsEl = uifactory.addCheckboxesVertical("repoRights", formLayout, repoRightsKeys, repoValues, null, 1);
RepoPermission repoPermission = PermissionHelper.getPermission(repoEntry, member, memberships); if(member != null) {
repoRightsEl.select("owner", repoPermission.isOwner()); RepoPermission repoPermission = PermissionHelper.getPermission(repoEntry, member, memberships);
repoRightsEl.select("tutor", repoPermission.isTutor()); repoRightsEl.select("owner", repoPermission.isOwner());
repoRightsEl.select("participant", repoPermission.isParticipant()); repoRightsEl.select("tutor", repoPermission.isTutor());
repoRightsEl.select("participant", repoPermission.isParticipant());
}
//group rights //group rights
FlexiTableColumnModel tableColumnModel = FlexiTableDataModelFactory.createFlexiTableColumnModel(); FlexiTableColumnModel tableColumnModel = FlexiTableDataModelFactory.createFlexiTableColumnModel();
......
...@@ -21,6 +21,8 @@ package org.olat.course.member; ...@@ -21,6 +21,8 @@ package org.olat.course.member;
import java.util.List; import java.util.List;
import org.olat.collaboration.CollaborationTools;
import org.olat.collaboration.CollaborationToolsFactory;
import org.olat.core.gui.UserRequest; import org.olat.core.gui.UserRequest;
import org.olat.core.gui.components.Component; import org.olat.core.gui.components.Component;
import org.olat.core.gui.components.link.Link; import org.olat.core.gui.components.link.Link;
...@@ -30,16 +32,24 @@ import org.olat.core.gui.components.segmentedview.SegmentViewComponent; ...@@ -30,16 +32,24 @@ import org.olat.core.gui.components.segmentedview.SegmentViewComponent;
import org.olat.core.gui.components.segmentedview.SegmentViewEvent; import org.olat.core.gui.components.segmentedview.SegmentViewEvent;
import org.olat.core.gui.components.segmentedview.SegmentViewFactory; import org.olat.core.gui.components.segmentedview.SegmentViewFactory;
import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.components.velocity.VelocityContainer;
import org.olat.core.gui.control.Controller;
import org.olat.core.gui.control.Event; import org.olat.core.gui.control.Event;
import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.WindowControl;
import org.olat.core.gui.control.controller.BasicController; import org.olat.core.gui.control.controller.BasicController;
import org.olat.core.gui.control.generic.dtabs.Activateable2; import org.olat.core.gui.control.generic.dtabs.Activateable2;
import org.olat.core.gui.control.generic.wizard.Step;
import org.olat.core.gui.control.generic.wizard.StepRunnerCallback;
import org.olat.core.gui.control.generic.wizard.StepsMainRunController;
import org.olat.core.gui.control.generic.wizard.StepsRunContext;
import org.olat.core.id.OLATResourceable; import org.olat.core.id.OLATResourceable;
import org.olat.core.id.context.BusinessControlFactory; import org.olat.core.id.context.BusinessControlFactory;
import org.olat.core.id.context.ContextEntry; import org.olat.core.id.context.ContextEntry;
import org.olat.core.id.context.StateEntry; import org.olat.core.id.context.StateEntry;
import org.olat.core.logging.activity.ThreadLocalUserActivityLogger; import org.olat.core.logging.activity.ThreadLocalUserActivityLogger;
import org.olat.core.util.resource.OresHelper; import org.olat.core.util.resource.OresHelper;
import org.olat.course.member.wizard.ImportMember_1_ChooseMemberStep;
import org.olat.group.BusinessGroup;
import org.olat.group.ui.wizard.BGConfigBusinessGroup;
import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryEntry;
import org.olat.util.logging.activity.LoggingResourceable; import org.olat.util.logging.activity.LoggingResourceable;
...@@ -60,6 +70,9 @@ public class MembersOverviewController extends BasicController implements Activa ...@@ -60,6 +70,9 @@ public class MembersOverviewController extends BasicController implements Activa
private MemberListController tutorsCtrl; private MemberListController tutorsCtrl;
private MemberListController participantsCtrl; private MemberListController participantsCtrl;
private MemberListController waitingCtrl; private MemberListController waitingCtrl;
private final Link importMemberLink, addMemberLink;
private StepsMainRunController importMembersWizard;
private final RepositoryEntry repoEntry; private final RepositoryEntry repoEntry;
...@@ -84,6 +97,13 @@ public class MembersOverviewController extends BasicController implements Activa ...@@ -84,6 +97,13 @@ public class MembersOverviewController extends BasicController implements Activa
segmentView.addSegment(searchLink, false); segmentView.addSegment(searchLink, false);
updateAllMembers(ureq); updateAllMembers(ureq);
addMemberLink = LinkFactory.createButton("add.member", mainVC, this);
mainVC.put("addMembers", addMemberLink);
importMemberLink = LinkFactory.createButton("import.member", mainVC, this);
mainVC.put("importMembers", importMemberLink);
putInitialPanel(mainVC); putInitialPanel(mainVC);
} }
...@@ -116,8 +136,38 @@ public class MembersOverviewController extends BasicController implements Activa ...@@ -116,8 +136,38 @@ public class MembersOverviewController extends BasicController implements Activa
} else if (clickedLink == searchLink) { } else if (clickedLink == searchLink) {
updateSearch(ureq); updateSearch(ureq);
} }
} else if (source == addMemberLink) {
} else if (source == importMemberLink) {
doImportMembers(ureq);
} }
} }
@Override
protected void event(UserRequest ureq, Controller source, Event event) {
if(source == importMembersWizard) {
System.out.println("Import!!!");
}
super.event(ureq, source, event);
}
private void doImportMembers(UserRequest ureq) {
removeAsListenerAndDispose(importMembersWizard);
Step start = new ImportMember_1_ChooseMemberStep(ureq, repoEntry);
StepRunnerCallback finish = new StepRunnerCallback() {
@Override
public Step execute(UserRequest ureq, WindowControl wControl, StepsRunContext runContext) {
//configuration
System.out.println("Import!!!");
return StepsMainRunController.DONE_MODIFIED;
}
};
importMembersWizard = new StepsMainRunController(ureq, getWindowControl(), start, finish, null, translate("import.member"));
listenTo(importMembersWizard);
getWindowControl().pushAsModalDialog(importMembersWizard.getInitialComponent());
}
private MemberListController updateAllMembers(UserRequest ureq) { private MemberListController updateAllMembers(UserRequest ureq) {
if(allMemberListCtrl == null) { if(allMemberListCtrl == null) {
......
$r.render("infos") #if($r.available("infos"))
$r.render("infos")
#end
<h4>$editTitle</h4> <h4>$editTitle</h4>
$r.render("repoRights") $r.render("repoRights")
<h5>$r.translate("edit.member.groups")</h5> <h5>$r.translate("edit.member.groups")</h5>
......
<div class="o_buttons_box_right">
#if($r.available("addMembers"))
$r.render("addMembers")
#end
#if($r.available("importMembers"))
$r.render("importMembers")
#end
</div>
<h4 class="b_with_small_icon_left b_group_icon"> <h4 class="b_with_small_icon_left b_group_icon">
$r.translate("menu.members") $r.translate("menu.members")
</h4> </h4>
......
...@@ -14,6 +14,8 @@ participants=Teilnehmer ...@@ -14,6 +14,8 @@ participants=Teilnehmer
waitinglist=Warteliste waitinglist=Warteliste
search=Suche search=Suche
action=Aktion action=Aktion
add.member=Mitglieder hinzufgen
import.member=Mitglieder importieren
edit.member=Mitglied bearbeiten edit.member=Mitglied bearbeiten
edit.member.title=Mitgliederrechte Kurs "{0}" edit.member.title=Mitgliederrechte Kurs "{0}"
edit.member.groups=Gruppenmitgliedschaften edit.member.groups=Gruppenmitgliedschaften
...@@ -30,6 +32,7 @@ table.header.edit=Bearbeiten ...@@ -30,6 +32,7 @@ table.header.edit=Bearbeiten
table.header.remove=Entfernen table.header.remove=Entfernen
table.header.firstName=Vorname table.header.firstName=Vorname
table.header.lastName=Name table.header.lastName=Name
table.header.mail=Email
table.header.firstTime=Beitritt table.header.firstTime=Beitritt
table.header.lastTime=Zuletzt besucht table.header.lastTime=Zuletzt besucht
table.header.role=Rolle table.header.role=Rolle
......
/**
* <a href="http://www.openolat.org">
* OpenOLAT - Online Learning and Training</a><br>
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); <br>
* you may not use this file except in compliance with the License.<br>
* You may obtain a copy of the License at the
* <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
* <p>
* Unless required by applicable law or agreed to in writing,<br>
* software distributed under the License is distributed on an "AS IS" BASIS, <br>
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
* See the License for the specific language governing permissions and <br>
* limitations under the License.
* <p>
* Initial code contributed and copyrighted by<br>
* frentix GmbH, http://www.frentix.com
* <p>
*/
package org.olat.course.member.wizard;
import org.olat.core.gui.UserRequest;
import org.olat.core.gui.components.form.flexible.FormItemContainer;
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.control.Controller;
import org.olat.core.gui.control.Event;
import org.olat.core.gui.control.WindowControl;
import org.olat.core.gui.control.generic.wizard.StepFormBasicController;
import org.olat.core.gui.control.generic.wizard.StepsEvent;
import org.olat.core.gui.control.generic.wizard.StepsRunContext;
/**
*
* @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
*/
public class ImportMemberByUsernamesController extends StepFormBasicController {
private TextElement idata;
public ImportMemberByUsernamesController(UserRequest ureq, WindowControl wControl, Form rootForm, StepsRunContext runContext) {
super(ureq, wControl, rootForm, runContext, LAYOUT_DEFAULT, null);
initForm (ureq);
}
public boolean validate() {
return !idata.isEmpty("form.legende.mandatory");
}
public String getLoginsString() {
return idata.getValue();
}
@Override
protected void formOK(UserRequest ureq) {
fireEvent(ureq, StepsEvent.ACTIVATE_NEXT);
}
@Override
protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
idata = uifactory.addTextAreaElement("addusers", "form.addusers", -1, 15, 40, true, " ", formLayout);
idata.setExampleKey ("form.names.example", null);
}
@Override
protected void doDispose() {
//
}
}
\ No newline at end of file
/**
* <a href="http://www.openolat.org">
* OpenOLAT - Online Learning and Training</a><br>
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); <br>
* you may not use this file except in compliance with the License.<br>
* You may obtain a copy of the License at the
* <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
* <p>
* Unless required by applicable law or agreed to in writing,<br>
* software distributed under the License is distributed on an "AS IS" BASIS, <br>
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
* See the License for the specific language governing permissions and <br>
* limitations under the License.
* <p>
* Initial code contributed and copyrighted by<br>
* frentix GmbH, http://www.frentix.com
* <p>
*/
package org.olat.course.member.wizard;
import org.olat.core.gui.UserRequest;
import org.olat.core.gui.components.form.flexible.FormItemContainer;
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.control.Controller;
import org.olat.core.gui.control.Event;
import org.olat.core.gui.control.WindowControl;
import org.olat.core.gui.control.generic.wizard.StepFormBasicController;
import org.olat.core.gui.control.generic.wizard.StepsRunContext;
/**
*
* @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
*/
public class ImportMemberMailController extends StepFormBasicController {
private TextElement subject;
private TextElement content;
public ImportMemberMailController(UserRequest ureq, WindowControl wControl, Form rootForm, StepsRunContext runContext) {
super(ureq, wControl, rootForm, runContext, LAYOUT_DEFAULT, null);
initForm (ureq);
}
public boolean validate() {
return true;
}
@Override
protected void formOK(UserRequest ureq) {
fireEvent (ureq, Event.DONE_EVENT);
}
@Override
protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
}
@Override
protected void doDispose() {
//
}
}
\ No newline at end of file
/**
* <a href="http://www.openolat.org">
* OpenOLAT - Online Learning and Training</a><br>
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); <br>
* you may not use this file except in compliance with the License.<br>
* You may obtain a copy of the License at the
* <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
* <p>
* Unless required by applicable law or agreed to in writing,<br>
* software distributed under the License is distributed on an "AS IS" BASIS, <br>
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
* See the License for the specific language governing permissions and <br>
* limitations under the License.
* <p>
* Initial code contributed and copyrighted by<br>
* frentix GmbH, http://www.frentix.com
* <p>
*/
package org.olat.course.member.wizard;
import java.util.ArrayList;
import java.util.List;
import org.olat.admin.securitygroup.gui.UserControllerFactory;
import org.olat.core.gui.UserRequest;
import org.olat.core.gui.components.form.flexible.FormItemContainer;
import org.olat.core.gui.components.form.flexible.impl.Form;
import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer;
import org.olat.core.gui.components.table.TableController;
import org.olat.core.gui.control.Controller;
import org.olat.core.gui.control.Event;
import org.olat.core.gui.control.WindowControl;
import org.olat.core.gui.control.generic.wizard.StepFormBasicController;
import org.olat.core.gui.control.generic.wizard.StepsEvent;
import org.olat.core.gui.control.generic.wizard.StepsRunContext;
import org.olat.core.id.Identity;
/**
*
* @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
*/
public class ImportMemberOverviewIdentitiesController extends StepFormBasicController {
private TableController identityTableCtrl;
public ImportMemberOverviewIdentitiesController(UserRequest ureq, WindowControl wControl, Form rootForm, StepsRunContext runContext) {
super(ureq, wControl, rootForm, runContext, LAYOUT_CUSTOM, "confirm_identities");
List<Identity> oks = new ArrayList<Identity>();
identityTableCtrl = UserControllerFactory.createTableControllerFor(null, oks, ureq, getWindowControl(), null);
listenTo(identityTableCtrl);
initForm (ureq);
}
public boolean validate() {
return true;
}
@Override
protected void formOK(UserRequest ureq) {
fireEvent(ureq, StepsEvent.ACTIVATE_NEXT);
}
@Override
protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
if(formLayout instanceof FormLayoutContainer) {
FormLayoutContainer layoutCont = (FormLayoutContainer)formLayout;
layoutCont.put("identityList", identityTableCtrl.getInitialComponent());
}
}
@Override
protected void doDispose() {
//
}
}
\ No newline at end of file
/**
* <a href="http://www.openolat.org">
* OpenOLAT - Online Learning and Training</a><br>
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); <br>
* you may not use this file except in compliance with the License.<br>
* You may obtain a copy of the License at the
* <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
* <p>
* Unless required by applicable law or agreed to in writing,<br>
* software distributed under the License is distributed on an "AS IS" BASIS, <br>
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
* See the License for the specific language governing permissions and <br>
* limitations under the License.
* <p>
* Initial code contributed and copyrighted by<br>
* frentix GmbH, http://www.frentix.com
* <p>
*/
package org.olat.course.member.wizard;
import org.olat.core.gui.UserRequest;
import org.olat.core.gui.components.form.flexible.FormItemContainer;
import org.olat.core.gui.components.form.flexible.impl.Form;
import org.olat.core.gui.control.Controller;
import org.olat.core.gui.control.WindowControl;
import org.olat.core.gui.control.generic.wizard.StepFormBasicController;
import org.olat.core.gui.control.generic.wizard.StepsEvent;
import org.olat.core.gui.control.generic.wizard.StepsRunContext;
import org.olat.course.member.EditMembershipController;
import org.olat.repository.RepositoryEntry;
/**
*
* @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
*/
public class ImportMemberPermissionChoiceController extends StepFormBasicController {
private EditMembershipController permissionCtrl;
public ImportMemberPermissionChoiceController(UserRequest ureq, WindowControl wControl, RepositoryEntry repoEntry,
Form rootForm, StepsRunContext runContext) {
super(ureq, wControl, rootForm, runContext, LAYOUT_VERTICAL, null);
permissionCtrl = new EditMembershipController(ureq, getWindowControl(), null, repoEntry, rootForm);
listenTo(permissionCtrl);
initForm (ureq);
}
public boolean validate() {
return true;
}
@Override
protected void formOK(UserRequest ureq) {
fireEvent (ureq, StepsEvent.ACTIVATE_NEXT);
}
@Override
protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
formLayout.add(permissionCtrl.getInitialFormItem());
}
@Override
protected void doDispose() {
//
}
}
\ No newline at end of file
/**
* <a href="http://www.openolat.org">
* OpenOLAT - Online Learning and Training</a><br>
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); <br>
* you may not use this file except in compliance with the License.<br>
* You may obtain a copy of the License at the
* <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
* <p>
* Unless required by applicable law or agreed to in writing,<br>
* software distributed under the License is distributed on an "AS IS" BASIS, <br>
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
* See the License for the specific language governing permissions and <br>
* limitations under the License.
* <p>
* Initial code contributed and copyrighted by<br>
* frentix GmbH, http://www.frentix.com
* <p>
*/
package org.olat.course.member.wizard;
import org.olat.core.gui.UserRequest;
import org.olat.core.gui.components.form.flexible.impl.Form;
import org.olat.core.gui.control.WindowControl;
import org.olat.core.gui.control.generic.wizard.BasicStep;
import org.olat.core.gui.control.generic.wizard.PrevNextFinishConfig;
import org.olat.core.gui.control.generic.wizard.StepFormController;
import org.olat.core.gui.control.generic.wizard.StepsRunContext;
import org.olat.repository.RepositoryEntry;
/**
*
* @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
*/
public class ImportMember_1_ChooseMemberStep extends BasicStep {
public ImportMember_1_ChooseMemberStep(UserRequest ureq, RepositoryEntry repoEntry) {
super(ureq);
setNextStep(new ImportMember_2_ConfirmMemberChoiceStep(ureq, repoEntry));
setI18nTitleAndDescr("import.import.title", "import.import.title");
}
@Override
public PrevNextFinishConfig getInitialPrevNextFinishConfig() {
return new PrevNextFinishConfig(false, true, false);
}
@Override
public StepFormController getStepController(UserRequest ureq, WindowControl wControl, StepsRunContext runContext, Form form) {
ImportMemberByUsernamesController controller = new ImportMemberByUsernamesController(ureq, wControl, form, runContext);
return controller;
}
}
\ No newline at end of file
/**
* <a href="http://www.openolat.org">
* OpenOLAT - Online Learning and Training</a><br>
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); <br>
* you may not use this file except in compliance with the License.<br>
* You may obtain a copy of the License at the
* <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
* <p>
* Unless required by applicable law or agreed to in writing,<br>
* software distributed under the License is distributed on an "AS IS" BASIS, <br>
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
* See the License for the specific language governing permissions and <br>
* limitations under the License.
* <p>
* Initial code contributed and copyrighted by<br>
* frentix GmbH, http://www.frentix.com
* <p>
*/
package org.olat.course.member.wizard;
import org.olat.core.gui.UserRequest;
import org.olat.core.gui.components.form.flexible.impl.Form;
import org.olat.core.gui.control.WindowControl;
import org.olat.core.gui.control.generic.wizard.BasicStep;
import org.olat.core.gui.control.generic.wizard.PrevNextFinishConfig;
import org.olat.core.gui.control.generic.wizard.StepFormController;
import org.olat.core.gui.control.generic.wizard.StepsRunContext;
import org.olat.repository.RepositoryEntry;
/**
*
* @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
*/
public class ImportMember_2_ConfirmMemberChoiceStep extends BasicStep {
public ImportMember_2_ConfirmMemberChoiceStep(UserRequest ureq, RepositoryEntry repoEntry) {
super(ureq);
setNextStep(new ImportMember_3_ChoosePermissionStep(ureq, repoEntry));
setI18nTitleAndDescr("import.confirm.title", "import.confirm.title");
}
@Override
public PrevNextFinishConfig getInitialPrevNextFinishConfig() {
return new PrevNextFinishConfig(true, true, false);
}
@Override
public StepFormController getStepController(UserRequest ureq, WindowControl wControl, StepsRunContext runContext, Form form) {
ImportMemberOverviewIdentitiesController controller = new ImportMemberOverviewIdentitiesController(ureq, wControl, form, runContext);
return controller;
}
}
\ No newline at end of file
/**
* <a href="http://www.openolat.org">
* OpenOLAT - Online Learning and Training</a><br>
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); <br>
* you may not use this file except in compliance with the License.<br>
* You may obtain a copy of the License at the
* <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
* <p>
* Unless required by applicable law or agreed to in writing,<br>
* software distributed under the License is distributed on an "AS IS" BASIS, <br>
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
* See the License for the specific language governing permissions and <br>
* limitations under the License.
* <p>
* Initial code contributed and copyrighted by<br>
* frentix GmbH, http://www.frentix.com
* <p>
*/
package org.olat.course.member.wizard;
import org.olat.core.gui.UserRequest;
import org.olat.core.gui.components.form.flexible.impl.Form;
import org.olat.core.gui.control.WindowControl;
import org.olat.core.gui.control.generic.wizard.BasicStep;
import org.olat.core.gui.control.generic.wizard.PrevNextFinishConfig;
import org.olat.core.gui.control.generic.wizard.StepFormController;
import org.olat.core.gui.control.generic.wizard.StepsRunContext;
import org.olat.repository.RepositoryEntry;
/**
*
* @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
*/
public class ImportMember_3_ChoosePermissionStep extends BasicStep {
private final RepositoryEntry repoEntry;
public ImportMember_3_ChoosePermissionStep(UserRequest ureq, RepositoryEntry repoEntry) {
super(ureq);
this.repoEntry = repoEntry;
setNextStep(new ImportMember_4_MailStep(ureq));
setI18nTitleAndDescr("import.permission.title", "import.permission.title");
}
@Override
public PrevNextFinishConfig getInitialPrevNextFinishConfig() {
return new PrevNextFinishConfig(true, true, false);
}
@Override
public StepFormController getStepController(UserRequest ureq, WindowControl wControl, StepsRunContext runContext, Form form) {
ImportMemberPermissionChoiceController controller
= new ImportMemberPermissionChoiceController(ureq, wControl, repoEntry, form, runContext);
return controller;
}
}
/**
* <a href="http://www.openolat.org">
* OpenOLAT - Online Learning and Training</a><br>
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); <br>
* you may not use this file except in compliance with the License.<br>
* You may obtain a copy of the License at the
* <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
* <p>
* Unless required by applicable law or agreed to in writing,<br>
* software distributed under the License is distributed on an "AS IS" BASIS, <br>
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
* See the License for the specific language governing permissions and <br>
* limitations under the License.
* <p>
* Initial code contributed and copyrighted by<br>
* frentix GmbH, http://www.frentix.com
* <p>
*/
package org.olat.course.member.wizard;
import org.olat.core.gui.UserRequest;
import org.olat.core.gui.components.form.flexible.impl.Form;
import org.olat.core.gui.control.WindowControl;
import org.olat.core.gui.control.generic.wizard.BasicStep;
import org.olat.core.gui.control.generic.wizard.PrevNextFinishConfig;
import org.olat.core.gui.control.generic.wizard.StepFormController;
import org.olat.core.gui.control.generic.wizard.StepsRunContext;
/**
*
* @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
*/
public class ImportMember_4_MailStep extends BasicStep {
public ImportMember_4_MailStep(UserRequest ureq) {
super(ureq);
setNextStep(NOSTEP);
setI18nTitleAndDescr("import.mail.title", "import.mail.title");
}
@Override
public PrevNextFinishConfig getInitialPrevNextFinishConfig() {
return new PrevNextFinishConfig(true, false, true);
}
@Override
public StepFormController getStepController(UserRequest ureq, WindowControl wControl, StepsRunContext runContext, Form form) {
ImportMemberMailController controller = new ImportMemberMailController(ureq, wControl, form, runContext);
return controller;
}
}
\ No newline at end of file
$r.render("identityList")
\ No newline at end of file
#Mon Mar 02 09:54:04 CET 2009
import.import.title=Benutzernamen angeben
import.confirm.title=berprfen
import.permission.title=Berechtigungen
import.mail.title=E-Mail-Benachrichtigung
form.names.example=aoi,kanu,
form.addusers=Benutzername
\ No newline at end of file
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