Index: lams_admin/conf/xdoclet/struts-forms.xml
===================================================================
diff -u -r7f2277c2698e0106e74d1edeabd49bc926e064b7 -r595b61abd50d853fa3b934c86e95120b0be584bb
--- lams_admin/conf/xdoclet/struts-forms.xml (.../struts-forms.xml) (revision 7f2277c2698e0106e74d1edeabd49bc926e064b7)
+++ lams_admin/conf/xdoclet/struts-forms.xml (.../struts-forms.xml) (revision 595b61abd50d853fa3b934c86e95120b0be584bb)
@@ -42,3 +42,6 @@
+
+
+
\ No newline at end of file
Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserBean.java
===================================================================
diff -u
--- lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserBean.java (revision 0)
+++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserBean.java (revision 595b61abd50d853fa3b934c86e95120b0be584bb)
@@ -0,0 +1,72 @@
+/****************************************************************
+ * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org)
+ * =============================================================
+ * License Information: http://lamsfoundation.org/licensing/lams/2.0/
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2.0
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ *
+ * http://www.gnu.org/licenses/gpl.txt
+ * ****************************************************************
+ */
+
+/* $Id$ */
+package org.lamsfoundation.lams.admin.web;
+
+import org.apache.struts.action.ActionForm;
+
+/**
+ * @author jliew
+ *
+ * Bean used as member of UserOrgRoleForm, representing a user's roles.
+ *
+ */
+public class UserBean extends ActionForm {
+
+ private Integer userId;
+ private String login;
+ private String[] roleIds;
+
+ public Integer getUserId() {
+ return this.userId;
+ }
+
+ public void setUserId(Integer userId) {
+ this.userId = userId;
+ }
+
+ public String getLogin() {
+ return this.login;
+ }
+
+ public void setLogin(String login) {
+ this.login = login;
+ }
+
+ public String[] getRoleIds(){
+ return this.roleIds;
+ }
+
+ public void setRoleIds(String[] roleIds){
+ this.roleIds = roleIds;
+ }
+
+ public Object getRoleId(int key) {
+ return roleIds[key];
+ }
+
+ public void setRoleId(int key, String roleId) {
+ roleIds[key] = roleId;
+ }
+}
Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserOrgRoleAction.java
===================================================================
diff -u
--- lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserOrgRoleAction.java (revision 0)
+++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserOrgRoleAction.java (revision 595b61abd50d853fa3b934c86e95120b0be584bb)
@@ -0,0 +1,110 @@
+/****************************************************************
+ * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org)
+ * =============================================================
+ * License Information: http://lamsfoundation.org/licensing/lams/2.0/
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2.0
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ *
+ * http://www.gnu.org/licenses/gpl.txt
+ * ****************************************************************
+ */
+
+/* $Id$ */
+package org.lamsfoundation.lams.admin.web;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.beanutils.BeanUtils;
+import org.apache.log4j.Logger;
+import org.apache.struts.action.Action;
+import org.apache.struts.action.ActionForm;
+import org.apache.struts.action.ActionForward;
+import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.DynaActionForm;
+import org.lamsfoundation.lams.usermanagement.Organisation;
+import org.lamsfoundation.lams.usermanagement.Role;
+import org.lamsfoundation.lams.usermanagement.User;
+import org.lamsfoundation.lams.usermanagement.UserOrganisation;
+import org.lamsfoundation.lams.usermanagement.UserOrganisationRole;
+import org.lamsfoundation.lams.usermanagement.service.IUserManagementService;
+import org.springframework.web.context.WebApplicationContext;
+import org.springframework.web.context.support.WebApplicationContextUtils;
+
+/**
+ * @author jliew
+ *
+ * Called when a user has added users to an organisation.
+ *
+ */
+
+/**
+ * struts doclets
+ *
+ * @struts:action path="/userorgrole"
+ * name="UserOrgRoleForm"
+ * scope="request"
+ * validate="false"
+ *
+ * @struts:action-forward name="userorgrole"
+ * path=".userorgrole"
+ */
+public class UserOrgRoleAction extends Action {
+
+ private static Logger log = Logger.getLogger(UserOrgRoleAction.class);
+ private static IUserManagementService service;
+
+ public ActionForward execute(ActionMapping mapping,
+ ActionForm form,
+ HttpServletRequest request,
+ HttpServletResponse response) throws Exception {
+ UserOrgRoleForm userOrgRoleForm = (UserOrgRoleForm)form;
+
+ // set list of roles appropriate for the organisation type
+ List roles = (List)request.getAttribute("roles");
+ log.debug("num roles: "+roles.size());
+ Collections.sort(roles);
+ request.setAttribute("roles",roles);
+
+ // populate form with users
+ ArrayList userOrgs = (ArrayList)request.getAttribute("newUserOrganisations");
+ for(int i=0; i userIdList = Arrays.asList(userIds);
log.debug("userIdList: "+userIdList);
+ List newUserOrganisations = new ArrayList();
// remove UserOrganisations that aren't in form data
Iterator iter = uos.iterator();
@@ -119,16 +123,25 @@
getService().save(uo);
uos.add(uo);
log.debug("added: "+userId);
- Role role = (Role)getService().findByProperty(Role.class,"name",Role.LEARNER).get(0);
+ newUserOrganisations.add(uo);
+ /*Role role = (Role)getService().findByProperty(Role.class,"name",Role.LEARNER).get(0);
UserOrganisationRole uor = new UserOrganisationRole(uo,role);
- getService().save(uor);
+ getService().save(uor);*/
}
}
organisation.setUserOrganisations(uos);
getService().save(organisation);
- return mapping.findForward("userlist");
+ if(newUserOrganisations.isEmpty()){
+ return mapping.findForward("userlist");
+ }else{ // send user to screen where they can assign roles for the newly added users
+ List roles = getService().getRolesForOrgType(organisation.getOrganisationType(),false);
+ request.setAttribute("roles",roles);
+ request.setAttribute("newUserOrganisations",newUserOrganisations);
+ request.setAttribute("orgId",orgId);
+ return mapping.findForward("userorgrole");
+ }
}
private IUserManagementService getService(){
Index: lams_admin/web/WEB-INF/tiles/tiles-defs.xml
===================================================================
diff -u -r717b6ec449b63d74e094c7b6466723ff25bcefc7 -r595b61abd50d853fa3b934c86e95120b0be584bb
--- lams_admin/web/WEB-INF/tiles/tiles-defs.xml (.../tiles-defs.xml) (revision 717b6ec449b63d74e094c7b6466723ff25bcefc7)
+++ lams_admin/web/WEB-INF/tiles/tiles-defs.xml (.../tiles-defs.xml) (revision 595b61abd50d853fa3b934c86e95120b0be584bb)
@@ -2,6 +2,11 @@
+
+
+
+
+
Index: lams_admin/web/userorgrole.jsp
===================================================================
diff -u
--- lams_admin/web/userorgrole.jsp (revision 0)
+++ lams_admin/web/userorgrole.jsp (revision 595b61abd50d853fa3b934c86e95120b0be584bb)
@@ -0,0 +1,39 @@
+<%@ page contentType="text/html; charset=utf-8" language="java" %>
+
+<%@ taglib uri="tags-html-el" prefix="html-el" %>
+<%@ taglib uri="tags-core" prefix="c" %>
+<%@ taglib uri="tags-bean" prefix="bean" %>
+<%@ taglib uri="tags-logic" prefix="logic" %>
+<%@ taglib uri="tags-fmt" prefix="fmt" %>
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+ |
+
+
+
+
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+