svnno****@sourc*****
svnno****@sourc*****
2008年 11月 18日 (火) 14:48:03 JST
Revision: 1363 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=pal&view=rev&rev=1363 Author: shinsuke Date: 2008-11-18 14:48:03 +0900 (Tue, 18 Nov 2008) Log Message: ----------- select mulitiple groups/roles. Modified Paths: -------------- userinfo/trunk/src/main/java/jp/sf/pal/userinfo/action/UserInfoAction.java userinfo/trunk/src/main/java/jp/sf/pal/userinfo/db/exentity/GroupMapping.java userinfo/trunk/src/main/java/jp/sf/pal/userinfo/db/exentity/RoleMapping.java userinfo/trunk/src/main/java/jp/sf/pal/userinfo/db/exentity/UserInfo.java userinfo/trunk/src/main/java/jp/sf/pal/userinfo/dxo/UserInfoDxo.java userinfo/trunk/src/main/java/jp/sf/pal/userinfo/form/UserInfoForm.java userinfo/trunk/src/main/java/jp/sf/pal/userinfo/service/GroupInfoService.java userinfo/trunk/src/main/java/jp/sf/pal/userinfo/service/RoleInfoService.java userinfo/trunk/src/main/java/jp/sf/pal/userinfo/service/UserInfoService.java userinfo/trunk/src/main/resources/application.properties userinfo/trunk/src/main/resources/application_ja.properties userinfo/trunk/src/main/webapp/WEB-INF/view/userInfo/confirm.jsp userinfo/trunk/src/main/webapp/WEB-INF/view/userInfo/edit.jsp Added Paths: ----------- userinfo/trunk/src/main/webapp/WEB-INF/view/userInfo/grouplist.jsp userinfo/trunk/src/main/webapp/WEB-INF/view/userInfo/rolelist.jsp -------------- next part -------------- Modified: userinfo/trunk/src/main/java/jp/sf/pal/userinfo/action/UserInfoAction.java =================================================================== --- userinfo/trunk/src/main/java/jp/sf/pal/userinfo/action/UserInfoAction.java 2008-11-18 04:50:49 UTC (rev 1362) +++ userinfo/trunk/src/main/java/jp/sf/pal/userinfo/action/UserInfoAction.java 2008-11-18 05:48:03 UTC (rev 1363) @@ -1,6 +1,7 @@ package jp.sf.pal.userinfo.action; import java.io.Serializable; +import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletRequest; @@ -249,6 +250,110 @@ } } + @Execute(validator = false, input = "error.jsp") + public String selectroles() { + return "rolelist.jsp"; + } + + @Execute(validator = false, input = "error.jsp") + public String setroles() { + return "edit.jsp"; + } + + @Execute(validator = false, input = "error.jsp") + public String addroles() { + List<String> userList = new ArrayList<String>(); + if (userInfoForm.selectedRoles != null) { + for (String userId : userInfoForm.selectedRoles) { + userList.add(userId); + } + } + if (userInfoForm.addedRoles != null) { + for (String userId : userInfoForm.addedRoles) { + userList.add(userId); + } + } + if (!userList.isEmpty()) { + userInfoForm.selectedRoles = userList.toArray(new String[0]); + } else { + userInfoForm.selectedRoles = null; + } + return "rolelist.jsp"; + } + + @Execute(validator = false, input = "error.jsp") + public String removeroles() { + List<String> userList = new ArrayList<String>(); + if (userInfoForm.selectedRoles != null) { + for (String userId : userInfoForm.selectedRoles) { + userList.add(userId); + } + } + if (userInfoForm.removedRoles != null) { + for (String userId : userInfoForm.removedRoles) { + userList.remove(userId); + } + } + if (!userList.isEmpty()) { + userInfoForm.selectedRoles = userList.toArray(new String[0]); + } else { + userInfoForm.selectedRoles = null; + } + return "rolelist.jsp"; + } + + @Execute(validator = false, input = "error.jsp") + public String selectgroups() { + return "grouplist.jsp"; + } + + @Execute(validator = false, input = "error.jsp") + public String setgroups() { + return "edit.jsp"; + } + + @Execute(validator = false, input = "error.jsp") + public String addgroups() { + List<String> userList = new ArrayList<String>(); + if (userInfoForm.selectedGroups != null) { + for (String userId : userInfoForm.selectedGroups) { + userList.add(userId); + } + } + if (userInfoForm.addedGroups != null) { + for (String userId : userInfoForm.addedGroups) { + userList.add(userId); + } + } + if (!userList.isEmpty()) { + userInfoForm.selectedGroups = userList.toArray(new String[0]); + } else { + userInfoForm.selectedGroups = null; + } + return "grouplist.jsp"; + } + + @Execute(validator = false, input = "error.jsp") + public String removegroups() { + List<String> userList = new ArrayList<String>(); + if (userInfoForm.selectedGroups != null) { + for (String userId : userInfoForm.selectedGroups) { + userList.add(userId); + } + } + if (userInfoForm.removedGroups != null) { + for (String userId : userInfoForm.removedGroups) { + userList.remove(userId); + } + } + if (!userList.isEmpty()) { + userInfoForm.selectedGroups = userList.toArray(new String[0]); + } else { + userInfoForm.selectedGroups = null; + } + return "grouplist.jsp"; + } + private void loadUserInfo() { UserInfo userInfo = userInfoService.getUserInfo(userInfoForm.userId); @@ -299,6 +404,31 @@ return ConfigUtil.getBoolean(UserInfoConstants.GROUP_AVAILABLE, true); } + public List<RoleInfo> getAvailableRoleItems() { + return roleInfoService.getAvailableRoleList(userInfoForm.selectedRoles, + null); + } + + public List<RoleInfo> getSelectedRoleItems() { + if (userInfoForm.selectedRoles == null) { + return null; + } + return roleInfoService.getSelectedRoleList(userInfoForm.selectedRoles); + } + + public List<GroupInfo> getAvailableGroupItems() { + return groupInfoService.getAvailableGroupList( + userInfoForm.selectedGroups, null); + } + + public List<GroupInfo> getSelectedGroupItems() { + if (userInfoForm.selectedGroups == null) { + return null; + } + return groupInfoService + .getSelectedGroupList(userInfoForm.selectedGroups); + } + /** * @return the request */ Modified: userinfo/trunk/src/main/java/jp/sf/pal/userinfo/db/exentity/GroupMapping.java =================================================================== --- userinfo/trunk/src/main/java/jp/sf/pal/userinfo/db/exentity/GroupMapping.java 2008-11-18 04:50:49 UTC (rev 1362) +++ userinfo/trunk/src/main/java/jp/sf/pal/userinfo/db/exentity/GroupMapping.java 2008-11-18 05:48:03 UTC (rev 1363) @@ -14,4 +14,14 @@ /** Serial version UID. (Default) */ private static final long serialVersionUID = 1L; + + private boolean delete = false; + + public boolean isDelete() { + return delete; + } + + public void setDelete(boolean delete) { + this.delete = delete; + } } Modified: userinfo/trunk/src/main/java/jp/sf/pal/userinfo/db/exentity/RoleMapping.java =================================================================== --- userinfo/trunk/src/main/java/jp/sf/pal/userinfo/db/exentity/RoleMapping.java 2008-11-18 04:50:49 UTC (rev 1362) +++ userinfo/trunk/src/main/java/jp/sf/pal/userinfo/db/exentity/RoleMapping.java 2008-11-18 05:48:03 UTC (rev 1363) @@ -14,4 +14,15 @@ /** Serial version UID. (Default) */ private static final long serialVersionUID = 1L; + + private boolean delete = false; + + public boolean isDelete() { + return delete; + } + + public void setDelete(boolean delete) { + this.delete = delete; + } + } Modified: userinfo/trunk/src/main/java/jp/sf/pal/userinfo/db/exentity/UserInfo.java =================================================================== --- userinfo/trunk/src/main/java/jp/sf/pal/userinfo/db/exentity/UserInfo.java 2008-11-18 04:50:49 UTC (rev 1362) +++ userinfo/trunk/src/main/java/jp/sf/pal/userinfo/db/exentity/UserInfo.java 2008-11-18 05:48:03 UTC (rev 1363) @@ -1,5 +1,9 @@ package jp.sf.pal.userinfo.db.exentity; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; + import org.apache.commons.lang.StringUtils; /** @@ -44,4 +48,80 @@ public String getNameArg4() { return getFamilyNameDesc() != null ? getFamilyNameDesc() : ""; } + + public String[] getSelectedRoles() { + if (getRoleMappingList() != null && !getRoleMappingList().isEmpty()) { + List<String> list = new ArrayList<String>(); + for (RoleMapping mapping : getRoleMappingList()) { + list.add(mapping.getRoleId()); + } + return list.toArray(new String[0]); + } + return null; + } + + public void setSelectedRoles(String[] roles) { + if (roles != null && getRoleMappingList() != null) { + List<String> roleList = new LinkedList<String>(); + for (String roleId : roles) { + roleList.add(roleId); + } + for (RoleMapping mapping : getRoleMappingList()) { + boolean delete = true; + for (String roleId : roleList) { + if (mapping.getRoleId().equals(roleId)) { + delete = false; + roleList.remove(roleId); + break; + } + } + if (delete) { + mapping.setDelete(true); + } + } + for (String roleId : roleList) { + RoleMapping mapping = new RoleMapping(); + mapping.setRoleId(roleId); + getRoleMappingList().add(mapping); + } + } + } + + public String[] getSelectedGroups() { + if (getGroupMappingList() != null && !getGroupMappingList().isEmpty()) { + List<String> list = new ArrayList<String>(); + for (GroupMapping mapping : getGroupMappingList()) { + list.add(mapping.getGroupId()); + } + return list.toArray(new String[0]); + } + return null; + } + + public void setSelectedGroups(String[] groups) { + if (groups != null && getGroupMappingList() != null) { + List<String> groupList = new LinkedList<String>(); + for (String groupId : groups) { + groupList.add(groupId); + } + for (GroupMapping mapping : getGroupMappingList()) { + boolean delete = true; + for (String groupId : groupList) { + if (mapping.getGroupId().equals(groupId)) { + delete = false; + groupList.remove(groupId); + break; + } + } + if (delete) { + mapping.setDelete(true); + } + } + for (String groupId : groupList) { + GroupMapping mapping = new GroupMapping(); + mapping.setGroupId(groupId); + getGroupMappingList().add(mapping); + } + } + } } Modified: userinfo/trunk/src/main/java/jp/sf/pal/userinfo/dxo/UserInfoDxo.java =================================================================== --- userinfo/trunk/src/main/java/jp/sf/pal/userinfo/dxo/UserInfoDxo.java 2008-11-18 04:50:49 UTC (rev 1362) +++ userinfo/trunk/src/main/java/jp/sf/pal/userinfo/dxo/UserInfoDxo.java 2008-11-18 05:48:03 UTC (rev 1363) @@ -34,6 +34,8 @@ + ", deletedTime : deletedTime" // + ", deletedBy : deletedBy" // // + ", versionno : versionno" // + + ", selectedRoles : selectedRoles" // + + ", selectedGroups : selectedGroups" // ) public void convertFromUserInfoToForm(UserInfo userInfo, UserInfoForm form); @@ -54,12 +56,14 @@ + ", roleId : roleId" // + ", groupId : groupId" // // + ", createdTime : createdTime" // - // + ", createdBy : createdBy" // - // + ", updatedTime : updatedTime" // - // + ", updatedBy : updatedBy" // - // + ", deletedTime : deletedTime" // - // + ", deletedBy : deletedBy" // - // + ", versionno : versionno" // + // + ", createdBy : createdBy" // + // + ", updatedTime : updatedTime" // + // + ", updatedBy : updatedBy" // + // + ", deletedTime : deletedTime" // + // + ", deletedBy : deletedBy" // + // + ", versionno : versionno" // + + ", selectedRoles : selectedRoles" // + + ", selectedGroups : selectedGroups" // ) public void convertFromFormToUserInfo(UserInfoForm form, UserInfo userInfo); Modified: userinfo/trunk/src/main/java/jp/sf/pal/userinfo/form/UserInfoForm.java =================================================================== --- userinfo/trunk/src/main/java/jp/sf/pal/userinfo/form/UserInfoForm.java 2008-11-18 04:50:49 UTC (rev 1362) +++ userinfo/trunk/src/main/java/jp/sf/pal/userinfo/form/UserInfoForm.java 2008-11-18 05:48:03 UTC (rev 1363) @@ -77,6 +77,18 @@ @Maxbytelength(maxbytelength = 255) public String deletedBy; + public String[] addedRoles; + + public String[] removedRoles; + + public String[] selectedRoles; + + public String[] addedGroups; + + public String[] removedGroups; + + public String[] selectedGroups; + @IntegerType public String pageNumber; @@ -101,5 +113,11 @@ updatedBy = null; deletedTime = null; deletedBy = null; + addedRoles = null; + removedRoles = null; + selectedRoles = null; + addedGroups = null; + removedGroups = null; + selectedGroups = null; } } Modified: userinfo/trunk/src/main/java/jp/sf/pal/userinfo/service/GroupInfoService.java =================================================================== --- userinfo/trunk/src/main/java/jp/sf/pal/userinfo/service/GroupInfoService.java 2008-11-18 04:50:49 UTC (rev 1362) +++ userinfo/trunk/src/main/java/jp/sf/pal/userinfo/service/GroupInfoService.java 2008-11-18 05:48:03 UTC (rev 1363) @@ -2,6 +2,7 @@ import java.io.Serializable; import java.sql.Timestamp; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -99,6 +100,45 @@ groupInfoBhv.update(groupInfo); } + public List<GroupInfo> getAvailableGroupList(String[] selectedGroups, + String groupId) { + GroupInfoCB cb = new GroupInfoCB(); + + // setup + + if (groupId != null) { + cb.query().setGroupId_Equal(groupId); + } + if (selectedGroups != null) { + List<String> excludedGroupIdList = new ArrayList<String>(); + for (String uid : selectedGroups) { + excludedGroupIdList.add(uid); + } + cb.query().setGroupId_NotInScope(excludedGroupIdList); + } + cb.query().addOrderBy_GroupId_Asc(); + return groupInfoBhv.selectList(cb); + } + + public List<GroupInfo> getSelectedGroupList(String[] selectedGroups) { + GroupInfoCB cb = new GroupInfoCB(); + + // setup + + if (selectedGroups != null) { + List<String> groupIdList = new ArrayList<String>( + selectedGroups.length); + for (String groupId : selectedGroups) { + groupIdList.add(groupId); + } + cb.query().setGroupId_InScope(groupIdList); + } + + cb.query().addOrderBy_GroupId_Asc(); + + return groupInfoBhv.selectList(cb); + } + public GroupInfoBhv getGroupInfoBhv() { return groupInfoBhv; } Modified: userinfo/trunk/src/main/java/jp/sf/pal/userinfo/service/RoleInfoService.java =================================================================== --- userinfo/trunk/src/main/java/jp/sf/pal/userinfo/service/RoleInfoService.java 2008-11-18 04:50:49 UTC (rev 1362) +++ userinfo/trunk/src/main/java/jp/sf/pal/userinfo/service/RoleInfoService.java 2008-11-18 05:48:03 UTC (rev 1363) @@ -2,6 +2,7 @@ import java.io.Serializable; import java.sql.Timestamp; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -98,6 +99,45 @@ roleInfoBhv.update(roleInfo); } + public List<RoleInfo> getAvailableRoleList(String[] selectedRoles, + String roleId) { + RoleInfoCB cb = new RoleInfoCB(); + + // setup + + if (roleId != null) { + cb.query().setRoleId_Equal(roleId); + } + if (selectedRoles != null) { + List<String> excludedRoleIdList = new ArrayList<String>(); + for (String uid : selectedRoles) { + excludedRoleIdList.add(uid); + } + cb.query().setRoleId_NotInScope(excludedRoleIdList); + } + cb.query().addOrderBy_RoleId_Asc(); + return roleInfoBhv.selectList(cb); + } + + public List<RoleInfo> getSelectedRoleList(String[] selectedRoles) { + RoleInfoCB cb = new RoleInfoCB(); + + // setup + + if (selectedRoles != null) { + List<String> roleIdList = new ArrayList<String>( + selectedRoles.length); + for (String roleId : selectedRoles) { + roleIdList.add(roleId); + } + cb.query().setRoleId_InScope(roleIdList); + } + + cb.query().addOrderBy_RoleId_Asc(); + + return roleInfoBhv.selectList(cb); + } + public RoleInfoBhv getRoleInfoBhv() { return roleInfoBhv; } Modified: userinfo/trunk/src/main/java/jp/sf/pal/userinfo/service/UserInfoService.java =================================================================== --- userinfo/trunk/src/main/java/jp/sf/pal/userinfo/service/UserInfoService.java 2008-11-18 04:50:49 UTC (rev 1362) +++ userinfo/trunk/src/main/java/jp/sf/pal/userinfo/service/UserInfoService.java 2008-11-18 05:48:03 UTC (rev 1363) @@ -8,8 +8,14 @@ import jp.sf.pal.userinfo.common.dxo.PagerDxo; import jp.sf.pal.userinfo.common.util.PagingResultBeanWrapper; import jp.sf.pal.userinfo.db.allcommon.cbean.PagingResultBean; +import jp.sf.pal.userinfo.db.cbean.GroupMappingCB; +import jp.sf.pal.userinfo.db.cbean.RoleMappingCB; import jp.sf.pal.userinfo.db.cbean.UserInfoCB; +import jp.sf.pal.userinfo.db.exbhv.GroupMappingBhv; +import jp.sf.pal.userinfo.db.exbhv.RoleMappingBhv; import jp.sf.pal.userinfo.db.exbhv.UserInfoBhv; +import jp.sf.pal.userinfo.db.exentity.GroupMapping; +import jp.sf.pal.userinfo.db.exentity.RoleMapping; import jp.sf.pal.userinfo.db.exentity.UserInfo; import jp.sf.pal.userinfo.pager.UserInfoPager; @@ -22,6 +28,10 @@ private transient UserInfoBhv userInfoBhv; + private transient RoleMappingBhv roleMappingBhv; + + private transient GroupMappingBhv groupMappingBhv; + private PagerDxo pagerDxo; public List<UserInfo> getUserInfoList(UserInfoPager userInfoPager) { @@ -58,7 +68,20 @@ cb.query().setDeletedBy_IsNull(); cb.query().setUserId_Equal(userId); - return userInfoBhv.selectEntity(cb); + UserInfo userInfo = userInfoBhv.selectEntity(cb); + if (userInfo == null) { + return null; + } + + RoleMappingCB cb2 = new RoleMappingCB(); + cb2.query().setUserId_Equal(userId); + userInfo.setRoleMappingList(roleMappingBhv.selectList(cb2)); + + GroupMappingCB cb3 = new GroupMappingCB(); + cb3.query().setUserId_Equal(userId); + userInfo.setGroupMappingList(groupMappingBhv.selectList(cb3)); + + return userInfo; } public void store(UserInfo userInfo) { @@ -77,6 +100,36 @@ userInfo.setCreatedTime(now); } userInfoBhv.insertOrUpdate(userInfo); + + // role mapping + List<RoleMapping> roleMappingList = userInfo.getRoleMappingList(); + if (roleMappingList != null) { + for (RoleMapping mapping : roleMappingList) { + if (mapping.isDelete()) { + // delete + roleMappingBhv.delete(mapping); + } else if (mapping.getId() == null) { + // create + mapping.setUserId(userInfo.getUserId()); + roleMappingBhv.insert(mapping); + } + } + } + + // group mapping + List<GroupMapping> groupMappingList = userInfo.getGroupMappingList(); + if (groupMappingList != null) { + for (GroupMapping mapping : groupMappingList) { + if (mapping.isDelete()) { + // delete + groupMappingBhv.delete(mapping); + } else if (mapping.getId() == null) { + // create + mapping.setUserId(userInfo.getUserId()); + groupMappingBhv.insert(mapping); + } + } + } } public void disable(String userId, String name) { @@ -109,4 +162,20 @@ this.pagerDxo = pagerDxo; } + public RoleMappingBhv getRoleMappingBhv() { + return roleMappingBhv; + } + + public void setRoleMappingBhv(RoleMappingBhv roleMappingBhv) { + this.roleMappingBhv = roleMappingBhv; + } + + public GroupMappingBhv getGroupMappingBhv() { + return groupMappingBhv; + } + + public void setGroupMappingBhv(GroupMappingBhv groupMappingBhv) { + this.groupMappingBhv = groupMappingBhv; + } + } Modified: userinfo/trunk/src/main/resources/application.properties =================================================================== --- userinfo/trunk/src/main/resources/application.properties 2008-11-18 04:50:49 UTC (rev 1362) +++ userinfo/trunk/src/main/resources/application.properties 2008-11-18 05:48:03 UTC (rev 1363) @@ -9,6 +9,8 @@ display.name={0} {2} {1} # 0: Given name, 1: Family name, 2: Middle Name, 3: Given name(Reading), 4: Family name(Reading) long.display.name={0} {2} {1} +# 0: Given name(Reading), 1: Family name(Reading), 2: Middle Name +phonetic.display.name={0} {2} {1} errors.invalid={0} is invalid. errors.maxlength={0} can not be greater than {1} characters. @@ -111,4 +113,24 @@ labels.user_detail=User Detail -labels.create_new_user=Create New User \ No newline at end of file +labels.create_new_user=Create New User + +labels.roles=Roles +labels.role_name=Role Name +labels.role_name=ID +labels.select_roles=Select Roles +labels.groups=Groups +labels.group_name=Group Name +labels.group_name=ID +labels.select_groups=Select Groups + +labels.role_list=Role List +labels.selected_roles=Selected Roles +labels.add_roles=Add >> +labels.remove_roles=<< Remove +labels.ok=OK +labels.group_list=Group List +labels.selected_groups=Selected Groups +labels.add_groups=Add >> +labels.remove_groups=<< Remove + Modified: userinfo/trunk/src/main/resources/application_ja.properties =================================================================== --- userinfo/trunk/src/main/resources/application_ja.properties 2008-11-18 04:50:49 UTC (rev 1362) +++ userinfo/trunk/src/main/resources/application_ja.properties 2008-11-18 05:48:03 UTC (rev 1363) @@ -2,6 +2,8 @@ display.name={1} {0} # 0: Given name, 1: Family name, 2: Middle Name, 3: Given name(Reading), 4: Family name(Reading) long.display.name={1} {0} ({4} {3}) +# 0: Given name(Reading), 1: Family name(Reading), 2: Middle Name +phonetic.display.name={1} {0} errors.invalid={0} \u306b\u306f\u6b63\u3057\u3044\u5f62\u5f0f\u306e\u30c7\u30fc\u30bf\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002 errors.maxlength={0} \u306f {1} \u6587\u5b57\u4ee5\u4e0b\u3067\u306a\u304f\u3066\u306f\u306a\u308a\u307e\u305b\u3093\u3002 @@ -104,4 +106,24 @@ labels.user_detail=\u30e6\u30fc\u30b6\u30fc\u306e\u8a73\u7d30 -labels.create_new_user=\u30e6\u30fc\u30b6\u30fc\u306e\u4f5c\u6210 \ No newline at end of file +labels.create_new_user=\u30e6\u30fc\u30b6\u30fc\u306e\u4f5c\u6210 + +labels.roles=\u30ed\u30fc\u30eb +labels.role_name=\u30ed\u30fc\u30eb\u540d +labels.role_name=ID +labels.select_roles=\u30ed\u30fc\u30eb\u306e\u9078\u629e +labels.groups=\u30b0\u30eb\u30fc\u30d7 +labels.group_name=\u30b0\u30eb\u30fc\u30d7\u540d +labels.group_name=ID +labels.select_groups=\u30b0\u30eb\u30fc\u30d7\u306e\u9078\u629e + +labels.role_list=\u30ed\u30fc\u30eb\u4e00\u89a7 +labels.selected_roles=\u9078\u629e\u6e08\u307f\u30ed\u30fc\u30eb +labels.add_roles=\u8ffd\u52a0 >> +labels.remove_roles=<< \u524a\u9664 +labels.ok=\u4e86\u89e3 +labels.group_list=\u30b0\u30eb\u30fc\u30d7\u4e00\u89a7 +labels.selected_groups=\u9078\u629e\u6e08\u307f\u30b0\u30eb\u30fc\u30d7 +labels.add_groups=\u8ffd\u52a0 >> +labels.remove_groups=<< \u524a\u9664 + Modified: userinfo/trunk/src/main/webapp/WEB-INF/view/userInfo/confirm.jsp =================================================================== --- userinfo/trunk/src/main/webapp/WEB-INF/view/userInfo/confirm.jsp 2008-11-18 04:50:49 UTC (rev 1362) +++ userinfo/trunk/src/main/webapp/WEB-INF/view/userInfo/confirm.jsp 2008-11-18 05:48:03 UTC (rev 1363) @@ -87,27 +87,75 @@ </tr> <c:if test="${roleAvailable}"> <tr> - <th><bean:message key="labels.role"/></th> + <th><bean:message key="labels.default_role"/></th> <td> -<c:forEach var="r" varStatus="s" items="${roleInfoItems}"> - <c:if test="${roleId==r.roleId}">${f:h(r.name)}</c:if> +<c:forEach var="r" varStatus="s" items="${selectedRoleItems}"> + <c:if test="${roleId==r.roleId}"><c:if test="${r.name!=''}">${f:h(r.name)}</c:if><c:if test="${r.name==''}">${f:h(r.roleId)}</c:if></c:if> </c:forEach> <c:if test="${roleId==''}"><bean:message key="labels.none"/></c:if> <html:hidden property="roleId"/> </td> </tr> + <tr> + <th><bean:message key="labels.roles"/></th> + <td> +<table> + <tbody> + <tr> + <th style="width:100px;"><bean:message key="labels.role_id"/></th> + <th style="width:100px;"><bean:message key="labels.role_name"/></th> + </tr> + <c:forEach var="r" varStatus="s" items="${selectedRoleItems}"> + <tr> + <td>${f:h(r.roleId)}</td> + <td>${f:h(r.name)}</td> + </tr> + </c:forEach> + </tbody> +</table> +<html:select property="selectedRoles" multiple="true" style="display:none;"> + <c:forEach var="u" varStatus="s" items="${selectedRoleItems}"> + <html:option value="${f:u(u.roleId)}">${f:u(u.roleId)}</html:option> + </c:forEach> +</html:select> + </td> + </tr> </c:if> <c:if test="${groupAvailable}"> <tr> - <th><bean:message key="labels.group"/></th> + <th><bean:message key="labels.default_group"/></th> <td> -<c:forEach var="g" varStatus="s" items="${groupInfoItems}"> - <c:if test="${groupId==g.groupId}">${f:h(g.name)}</c:if> +<c:forEach var="g" varStatus="s" items="${selectedGroupItems}"> + <c:if test="${groupId==g.groupId}"><c:if test="${g.name!=''}">${f:h(g.name)}</c:if><c:if test="${g.name==''}">${f:h(g.roleId)}</c:if></c:if> </c:forEach> <c:if test="${groupId==''}"><bean:message key="labels.none"/></c:if> <html:hidden property="groupId"/> </td> </tr> + <tr> + <th><bean:message key="labels.groups"/></th> + <td> +<table> + <tbody> + <tr> + <th style="width:100px;"><bean:message key="labels.group_id"/></th> + <th style="width:100px;"><bean:message key="labels.group_name"/></th> + </tr> + <c:forEach var="r" varStatus="s" items="${selectedGroupItems}"> + <tr> + <td>${f:h(r.groupId)}</td> + <td>${f:h(r.name)}</td> + </tr> + </c:forEach> + </tbody> +</table> +<html:select property="selectedGroups" multiple="true" style="display:none;"> + <c:forEach var="u" varStatus="s" items="${selectedGroupItems}"> + <html:option value="${f:u(u.groupId)}">${f:u(u.groupId)}</html:option> + </c:forEach> +</html:select> + </td> + </tr> </c:if> </tbody> <tfoot> Modified: userinfo/trunk/src/main/webapp/WEB-INF/view/userInfo/edit.jsp =================================================================== --- userinfo/trunk/src/main/webapp/WEB-INF/view/userInfo/edit.jsp 2008-11-18 04:50:49 UTC (rev 1362) +++ userinfo/trunk/src/main/webapp/WEB-INF/view/userInfo/edit.jsp 2008-11-18 05:48:03 UTC (rev 1363) @@ -92,12 +92,43 @@ <td> <html:select property="roleId"> <option value=""><bean:message key="labels.none"/></option> - <c:forEach var="r" varStatus="s" items="${roleInfoItems}"> - <html:option value="${f:h(r.roleId)}">${f:h(r.name)}</html:option> + <c:forEach var="r" varStatus="s" items="${selectedRoleItems}"> + <html:option value="${f:h(r.roleId)}"><c:if test="${r.name!=''}">${f:h(r.name)}</c:if><c:if test="${r.name==''}">${f:h(r.roleId)}</c:if></html:option> </c:forEach> </html:select> </td> </tr> + <tr> + <th><bean:message key="labels.roles"/></th> + <td> +<table> + <tbody> + <tr> + <th style="width:100px;"><bean:message key="labels.role_id"/></th> + <th style="width:100px;"><bean:message key="labels.role_name"/></th> + </tr> + <c:forEach var="r" varStatus="s" items="${selectedRoleItems}"> + <tr> + <td>${f:h(r.roleId)}</td> + <td>${f:h(r.name)}</td> + </tr> + </c:forEach> + </tbody> + <tfoot> + <tr> + <td colspan="2"> +<input type="submit" name="selectroles" value="<bean:message key="labels.select_roles"/>"/> + </td> + </tr> + </tfoot> +</table> +<html:select property="selectedRoles" multiple="true" style="display:none;"> + <c:forEach var="u" varStatus="s" items="${selectedRoleItems}"> + <html:option value="${f:u(u.roleId)}">${f:u(u.roleId)}</html:option> + </c:forEach> +</html:select> + </td> + </tr> </c:if> <c:if test="${groupAvailable}"> <tr> @@ -105,12 +136,43 @@ <td> <html:select property="groupId"> <option value=""><bean:message key="labels.none"/></option> - <c:forEach var="g" varStatus="s" items="${groupInfoItems}"> - <html:option value="${f:h(g.groupId)}">${f:h(g.name)}</html:option> + <c:forEach var="g" varStatus="s" items="${selectedGroupItems}"> + <html:option value="${f:h(g.groupId)}"><c:if test="${g.name!=''}">${f:h(g.name)}</c:if><c:if test="${g.name==''}">${f:h(g.groupId)}</c:if></html:option> </c:forEach> </html:select> </td> </tr> + <tr> + <th><bean:message key="labels.groups"/></th> + <td> +<table> + <tbody> + <tr> + <th style="width:100px;"><bean:message key="labels.group_id"/></th> + <th style="width:100px;"><bean:message key="labels.group_name"/></th> + </tr> + <c:forEach var="r" varStatus="s" items="${selectedGroupItems}"> + <tr> + <td>${f:h(r.groupId)}</td> + <td>${f:h(r.name)}</td> + </tr> + </c:forEach> + </tbody> + <tfoot> + <tr> + <td colspan="2"> +<input type="submit" name="selectgroups" value="<bean:message key="labels.select_groups"/>"/> + </td> + </tr> + </tfoot> +</table> +<html:select property="selectedGroups" multiple="true" style="display:none;"> + <c:forEach var="u" varStatus="s" items="${selectedGroupItems}"> + <html:option value="${f:u(u.groupId)}">${f:u(u.groupId)}</html:option> + </c:forEach> +</html:select> + </td> + </tr> </c:if> </tbody> <tfoot> Added: userinfo/trunk/src/main/webapp/WEB-INF/view/userInfo/grouplist.jsp =================================================================== --- userinfo/trunk/src/main/webapp/WEB-INF/view/userInfo/grouplist.jsp (rev 0) +++ userinfo/trunk/src/main/webapp/WEB-INF/view/userInfo/grouplist.jsp 2008-11-18 05:48:03 UTC (rev 1363) @@ -0,0 +1,115 @@ +<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> +<title></title> +</head> +<body> +<div style="padding:3px;"> +<!-- tab: BEGIN --> +<div class="tab-nav"> + <ul> + <li class="first"></li> + <li class="selected"><span><bean:message key="labels.user"/></span></li> +<c:if test="${roleAvailable}"> + <li class="spacer"></li> + <li class="selectable"><s:link href="/roleInfo/" style="text-decoration: none;"><bean:message key="labels.role"/></s:link></li> +</c:if> +<c:if test="${groupAvailable}"> + <li class="spacer"></li> + <li class="selectable"><s:link href="/groupInfo/" style="text-decoration: none;"><bean:message key="labels.group"/></s:link></li> +</c:if> + <li class="last"></li> + </ul> +</div> +<!-- tab: END --> + +<div><html:messages id="msg" message="true"><bean:write name="msg" ignore="true"/></html:messages><html:errors/></div> + +<s:form> +<div style="margin-top:3px;"> +<html:hidden property="mode"/> +<html:hidden property="userId"/> +<html:hidden property="familyName"/> +<html:hidden property="familyNameDesc"/> +<html:hidden property="givenName"/> +<html:hidden property="givenNameDesc"/> +<html:hidden property="middleName"/> +<html:hidden property="nickname"/> +<html:hidden property="gender"/> +<html:hidden property="birthDate"/> +<html:hidden property="email"/> +<html:hidden property="url"/> +<html:hidden property="telephone"/> +<html:hidden property="roleId"/> +<html:hidden property="groupId"/> +<html:select property="selectedRoles" multiple="true" style="display:none;"> + <c:forEach var="u" varStatus="s" items="${selectedRoleItems}"> + <html:option value="${f:u(u.roleId)}">${f:u(u.roleId)}</html:option> + </c:forEach> +</html:select> +<div class="form-table" style="float:left;width: 200px;"> +<table> + <thead> + <tr> + <th><bean:message key="labels.group_list"/></th> + </tr> + </thead> + <tbody> + <tr> + <td> +<html:select property="addedGroups" multiple="true" size="10" style="width:180px;"> +<!-- TODO i18n --> + <c:forEach var="group" varStatus="s" items="${availableGroupItems}"> + <html:option value="${f:u(group.groupId)}"><c:if test="${group.name==''}">${f:h(group.groupId)}</c:if><c:if test="${group.name!=''}">${f:h(group.name)}(${f:h(group.groupId)})</c:if></html:option> + </c:forEach> +</html:select> + </td> + </tr> + </tbody> +</table> +</div> +<div style="float:left;width: 100px;height: 200px;text-align: center;padding-top:60px;"> +<input type="submit" name="addgroups" value="<bean:message key="labels.add_groups"/>"/> +<input type="submit" name="removegroups" value="<bean:message key="labels.remove_groups"/>"/> +</div> +<div class="form-table" style="float:left;width: 200px;"> +<table> + <thead> + <tr> + <th><bean:message key="labels.selected_groups"/></th> + </tr> + </thead> + <tbody> + <tr> + <td> +<html:select property="removedGroups" multiple="true" size="10" style="width:180px;"> +<!-- TODO i18n --> + <c:forEach var="group" varStatus="s" items="${selectedGroupItems}"> + <html:option value="${f:u(group.groupId)}"><c:if test="${group.name==''}">${f:h(group.groupId)}</c:if><c:if test="${group.name!=''}">${f:h(group.name)}(${f:h(group.groupId)})</c:if></html:option> + </c:forEach> +</html:select> +<html:select property="selectedGroups" multiple="true" style="display:none;"> + <c:forEach var="u" varStatus="s" items="${selectedGroupItems}"> + <html:option value="${f:u(u.groupId)}">${f:u(u.groupId)}</html:option> + </c:forEach> +</html:select> + </td> + </tr> + </tbody> + <tfoot> + <tr> + <td> +<input type="submit" name="setgroups" value="<bean:message key="labels.ok"/>"/> + </td> + </tr> + </tfoot> +</table> +</div> +</div> +</s:form> + +</div> + +</body> +</html> Property changes on: userinfo/trunk/src/main/webapp/WEB-INF/view/userInfo/grouplist.jsp ___________________________________________________________________ Name: svn:eol-style + native Added: userinfo/trunk/src/main/webapp/WEB-INF/view/userInfo/rolelist.jsp =================================================================== --- userinfo/trunk/src/main/webapp/WEB-INF/view/userInfo/rolelist.jsp (rev 0) +++ userinfo/trunk/src/main/webapp/WEB-INF/view/userInfo/rolelist.jsp 2008-11-18 05:48:03 UTC (rev 1363) @@ -0,0 +1,115 @@ +<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> +<title></title> +</head> +<body> +<div style="padding:3px;"> +<!-- tab: BEGIN --> +<div class="tab-nav"> + <ul> + <li class="first"></li> + <li class="selected"><span><bean:message key="labels.user"/></span></li> +<c:if test="${roleAvailable}"> + <li class="spacer"></li> + <li class="selectable"><s:link href="/roleInfo/" style="text-decoration: none;"><bean:message key="labels.role"/></s:link></li> +</c:if> +<c:if test="${groupAvailable}"> + <li class="spacer"></li> + <li class="selectable"><s:link href="/groupInfo/" style="text-decoration: none;"><bean:message key="labels.group"/></s:link></li> +</c:if> + <li class="last"></li> + </ul> +</div> +<!-- tab: END --> + +<div><html:messages id="msg" message="true"><bean:write name="msg" ignore="true"/></html:messages><html:errors/></div> + +<s:form> +<div style="margin-top:3px;"> +<html:hidden property="mode"/> +<html:hidden property="userId"/> +<html:hidden property="familyName"/> +<html:hidden property="familyNameDesc"/> +<html:hidden property="givenName"/> +<html:hidden property="givenNameDesc"/> +<html:hidden property="middleName"/> +<html:hidden property="nickname"/> +<html:hidden property="gender"/> +<html:hidden property="birthDate"/> +<html:hidden property="email"/> +<html:hidden property="url"/> +<html:hidden property="telephone"/> +<html:hidden property="roleId"/> +<html:hidden property="groupId"/> +<html:select property="selectedGroups" multiple="true" style="display:none;"> + <c:forEach var="u" varStatus="s" items="${selectedGroupItems}"> + <html:option value="${f:u(u.groupId)}">${f:u(u.groupId)}</html:option> + </c:forEach> +</html:select> +<div class="form-table" style="float:left;width: 200px;"> +<table> + <thead> + <tr> + <th><bean:message key="labels.role_list"/></th> + </tr> + </thead> + <tbody> + <tr> + <td> +<html:select property="addedRoles" multiple="true" size="10" style="width:180px;"> +<!-- TODO i18n --> + <c:forEach var="role" varStatus="s" items="${availableRoleItems}"> + <html:option value="${f:u(role.roleId)}"><c:if test="${role.name==''}">${f:h(role.roleId)}</c:if><c:if test="${role.name!=''}">${f:h(role.name)}(${f:h(role.roleId)})</c:if></html:option> + </c:forEach> +</html:select> + </td> + </tr> + </tbody> +</table> +</div> +<div style="float:left;width: 100px;height: 200px;text-align: center;padding-top:60px;"> +<input type="submit" name="addroles" value="<bean:message key="labels.add_roles"/>"/> +<input type="submit" name="removeroles" value="<bean:message key="labels.remove_roles"/>"/> +</div> +<div class="form-table" style="float:left;width: 200px;"> +<table> + <thead> + <tr> + <th><bean:message key="labels.selected_roles"/></th> + </tr> + </thead> + <tbody> + <tr> + <td> +<html:select property="removedRoles" multiple="true" size="10" style="width:180px;"> +<!-- TODO i18n --> + <c:forEach var="role" varStatus="s" items="${selectedRoleItems}"> + <html:option value="${f:u(role.roleId)}"><c:if test="${role.name==''}">${f:h(role.roleId)}</c:if><c:if test="${role.name!=''}">${f:h(role.name)}(${f:h(role.roleId)})</c:if></html:option> + </c:forEach> +</html:select> +<html:select property="selectedRoles" multiple="true" style="display:none;"> + <c:forEach var="u" varStatus="s" items="${selectedRoleItems}"> + <html:option value="${f:u(u.roleId)}">${f:u(u.roleId)}</html:option> + </c:forEach> +</html:select> + </td> + </tr> + </tbody> + <tfoot> + <tr> + <td> +<input type="submit" name="setroles" value="<bean:message key="labels.ok"/>"/> + </td> + </tr> + </tfoot> +</table> +</div> +</div> +</s:form> + +</div> + +</body> +</html> Property changes on: userinfo/trunk/src/main/webapp/WEB-INF/view/userInfo/rolelist.jsp ___________________________________________________________________ Name: svn:eol-style + native