Revision 42:ddb257ed1d03

View differences:

WebContent/WEB-INF/config/ss102_user_admin/validation.xml
459 459
   <field depends="required" property="userGroup">
460 460
    <arg0 key="user.group"/>
461 461
   </field>
462
   <field depends="required" property="userAccessRole">
463
    <arg0 key="user.role"/>
464
   </field>
465
   <field depends="required" property="selectedAccesses">
466
    <arg0 key="group.access.error.2"/>
467
   </field>
468 462
   <field depends="required" property="pass">
469 463
    <arg0 key="user.password"/>
470 464
    <arg1 key="${var:minlength}" name="minlength" resource="false"/>
......
547 541
   <field depends="required" property="userGroup">
548 542
    <arg0 key="user.group"/>
549 543
   </field>
550
   <field depends="required" property="userAccessRole">
551
    <arg0 key="user.role"/>
552
   </field>
553
   <field depends="required" property="selectedAccesses">
554
    <arg0 key="group.access.error.2"/>
555
   </field>
556 544
  </form>
557 545
  <!-- Create System Admin -->
558 546
  <form name="systemAdminValidation">
WebContent/jsp/ss102_user_admin/ibssUserCreate.jsp
36 36

  
37 37
  <tr>
38 38
    <td>&nbsp;</td>
39
    <td width="140"><bean:message key="user.alias"/>:</td>
39
    <td width="140"><bean:message key="user.id"/>:</td>
40 40
    <td width="345"><htmlEL:text autocomplete="off" property="userId" name="ibssUserForm" maxlength="16" /></td>
41 41
    <td width="3">&nbsp;</td>
42 42
    <td width="44">&nbsp;</td>
......
73 73
    <td>&nbsp;</td>
74 74
    <td><bean:message key="user.group"/>:</td>
75 75
    <td>
76
    	<html:select property="userGroup" name="ibssUserForm" onchange="this.form.submit();overlay();">
76
    	<html:select property="userGroup" name="ibssUserForm">
77 77
	    	<html:option value=""> <bean:message key="general.please"/> </html:option>
78 78
		    <logicEL:iterate id="element" property="userGroupMap" name="viewBean">
79 79
				<bean:define id="value" name="element" property="value"/>
......
101 101
    <td rowspan="2">&nbsp;</td>
102 102
    <td rowspan="2">&nbsp;</td>
103 103
  </tr>
104
  <c:choose>
105
  	<c:when test="${ibssUserForm.map.ibssUserAccessView.map.modeType ne 3 and not empty ibssUserForm.map.ibssUserAccessView.map.modeType}">
106
  		<tr>
107
    		<td><bean:message key="user.role"/>:</td>
108
    		<td><html:radio value="m" property="userAccessRole"/><bean:message key="general.maker"/>
109
    		<html:radio value="c" property="userAccessRole"/><bean:message key="general.checker"/></td>
110
    		<td rowspan="2">&nbsp;</td>
111
    		<td rowspan="2">&nbsp;</td>
112
  		</tr>
113
  	</c:when>
114
  </c:choose>
115 104
  <tr>
116 105
    <td>&nbsp;</td>
117 106
    <td>&nbsp;</td>
......
119 108
    <td>&nbsp;</td>
120 109
    <td>&nbsp;</td>
121 110
  </tr>
122
  <tr>
123
    <td>&nbsp;</td>
124
    <td><c:if test="${not empty ibssUserForm.map.userGroup}"><strong><bean:message key="user.access"/></strong>:</c:if></td>
125
    <td>&nbsp;</td>
126
    <td colspan="2"></td>   	
127
    </tr>
128

  
129
		<c:choose>
130
			<c:when test="${not empty ibssUserForm.map.ibssUserAccessView }">
131
				<tr>
132
					<td>&nbsp;</td>
133
					<td colspan="4"><br />
134
						<ul class="treeHierarchy" class="right">
135
							<c:forEach var="item" items="${ibssUserForm.map.ibssUserAccessView.map.actionList}" varStatus="index">
136
								<c:set var="css" value="" />
137
								<c:if test="${index.last}"><c:set var="css" value="lastLine" /></c:if>
138
								<li class="<c:out value="${css}"/>">
139
		
140
									<label class="nodeName"><c:out value="${item.nodeName}" /> </label>
141
									<div class="<c:out value="${item.nodeId}"/>">
142
									<c:if test="${not empty item.subNavigations}">
143
										<ul>
144
										<c:forEach var="subItem" items="${item.subNavigations}" varStatus="index1">
145
											<c:set var="css" value=""/>
146
											<c:if test="${index1.last}"><c:set var="css" value="lastLine"/></c:if>
147
											<li class="<c:out value="${css}"/>">
148
											
149
											<label class="nodeName"><c:out value="${subItem.nodeName}"/></label>
150
											<div class="<c:out value="${subItem.nodeId}"/>">
151
											<c:if test="${accessBean ne 3}">
152
											<c:if test="${not empty subItem.actionList}">
153
											<ul>
154
												<c:forEach var="thirdItem" items="${subItem.actionList}" varStatus="index2">
155
													<c:set var="css" value="" />
156
													<c:if test="${index2.last}"><c:set var="css" value="lastLine" /></c:if>
157
													<li class="<c:out value="${css}"/>">
158
													<htmlEL:multibox styleClass="actionAll" property="selectedAccesses" disabled="false"><c:out value="${thirdItem.actionId}" /></htmlEL:multibox> 
159
													<label class="nodeName"><c:out value="${thirdItem.action}" /></label>
160
													</li>
161
												</c:forEach>
162
											</ul>
163
											</c:if>
164
											</c:if>
165
											<c:if test="${not empty subItem.subNavigations}">
166
											<ul>
167
												<c:forEach var="fourthItem" items="${subItem.subNavigations}" varStatus="index3">
168
													<c:set var="css" value="" />
169
													<c:if test="${index3.last}"><c:set var="css" value="lastLine" /></c:if>
170
													<li class="<c:out value="${css}"/>">
171
													
172
													<label class="nodeName"><c:out value="${fourthItem.nodeName}" /></label>
173
													<div class="<c:out value="${fourthItem.nodeId}"/>">
174
													<c:if test="${accessBean ne 3}">
175
													<c:if test="${not empty fourthItem.actionList}">
176
													<ul>
177
														<c:forEach var="fifthItem" items="${fourthItem.actionList}" varStatus="index4">
178
															<c:set var="css" value="" />
179
															<c:if test="${index4.last}"><c:set var="css" value="lastLine" /></c:if>
180
															<li class="<c:out value="${css}"/>">
181
															<htmlEL:multibox styleClass="action2All" property="selectedAccesses" disabled="false"><c:out value="${fifthItem.actionId}" /></htmlEL:multibox> 
182
															<label class="nodeName"><c:out value="${fifthItem.action}" /></label></li>
183
														</c:forEach>
184
													</ul>
185
													</c:if>
186
													</c:if>
187
													</div>
188
													</li>
189
												</c:forEach>
190
											</ul>
191
											</c:if>
192
											</div>
193
											</li>
194
										</c:forEach>
195
										</ul>
196
									</c:if>
197
									</div>
198
								</li>
199
							</c:forEach>
200
						</ul>
201
					</td>
202
				</tr>
203
			</c:when>
204
		</c:choose>
205 111

  
206 112
	</table>
207 113
<div style="direction:rtl;text-align:right;">
......
212 118
		<bean:message key="general.button.back"/>						
213 119
	</htmlEL:submit>
214 120
</div>
215
</htmlEL:form>
216

  
217
<script type="text/javascript">
218
	document.getElementById("submitID").focus();
219
</script>
121
</htmlEL:form>
WebContent/jsp/ss102_user_admin/ibssUserCreating.jsp
50 50
  </tr>
51 51
 <tr>
52 52
    <td>&nbsp;</td>
53
    <td width="140"><bean:message key="user.alias"/>:</td>
53
    <td width="140"><bean:message key="user.id"/>:</td>
54 54
    <td width="345"><strong><bean:write property="userId" name="ibssUserForm" /></strong></td>
55 55
    <td width="3">&nbsp;</td>
56 56
    <td width="44">&nbsp;</td>
......
116 116
    <td rowspan="2">&nbsp;</td>
117 117
    <td rowspan="2">&nbsp;</td>
118 118
  </tr>
119
  <c:choose>
120
  	<c:when test="${ibssUserForm.map.ibssUserAccessView.map.modeType ne 3 }">
121
  		<tr>
122
    		<td><bean:message key="user.role"/>:</td>
123
    		<td><html:radio value="m" property="userAccessRole" disabled="true"/><bean:message key="general.maker"/>
124
    		<html:radio value="c" property="userAccessRole" disabled="true"/><bean:message key="general.checker"/></td>
125
    		<td rowspan="2">&nbsp;</td>
126
    		<td rowspan="2">&nbsp;</td>
127
  		</tr>
128
  	</c:when>
129
  </c:choose>
130 119
  <tr>
131 120
    <td>&nbsp;</td>
132 121
    <td>&nbsp;</td>
......
134 123
    <td>&nbsp;</td>
135 124
    <td>&nbsp;</td>
136 125
  </tr>
137
  <tr>
138
    <td>&nbsp;</td>
139
    <td>&nbsp;</td>
140
    <td>&nbsp;</td>
141
    <td colspan="2"></td>   	
142
    </tr>
143
    
144
	<c:choose>
145
			<c:when test="${not empty ibssUserForm.map.ibssUserAccessView }">
146
				<tr>
147
					<td>&nbsp;</td>
148
					<td colspan="4"><br />
149
						<ul class="treeHierarchy" class="right">
150
							<c:forEach var="item" items="${ibssUserForm.map.ibssUserAccessView.map.actionList}" varStatus="index">
151
								<c:set var="css" value="" />
152
								<c:if test="${index.last}"><c:set var="css" value="lastLine" /></c:if>
153
								<li class="<c:out value="${css}"/>">
154
							
155
										
156
									<label class="nodeName"><c:out value="${item.nodeName}" /> </label>
157
									<div class="<c:out value="${item.nodeId}"/>">
158
									<c:if test="${not empty item.subNavigations}">
159
										<ul>
160
										<c:forEach var="subItem" items="${item.subNavigations}" varStatus="index1">
161
											<c:set var="css" value=""/>
162
											<c:if test="${index1.last}"><c:set var="css" value="lastLine"/></c:if>
163
											<li class="<c:out value="${css}"/>">
164
												
165
											<label class="nodeName"><c:out value="${subItem.nodeName}"/></label>
166
											<div class="<c:out value="${subItem.nodeId}"/>">
167
											<c:if test="${accessBean ne 3}">
168
											<c:if test="${not empty subItem.actionList}">
169
											<ul>
170
												<c:forEach var="thirdItem" items="${subItem.actionList}" varStatus="index2">
171
													<c:set var="css" value="" />
172
													<c:if test="${index2.last}"><c:set var="css" value="lastLine" /></c:if>
173
													<li class="<c:out value="${css}"/>">
174
													<htmlEL:multibox styleClass="actionAll" property="selectedAccesses" disabled="true"><c:out value="${thirdItem.actionId}" /></htmlEL:multibox> 
175
													<label class="nodeName"><c:out value="${thirdItem.action}" /></label>
176
													</li>
177
												</c:forEach>
178
											</ul>
179
											</c:if>
180
											</c:if>
181
											<c:if test="${not empty subItem.subNavigations}">
182
											<ul>
183
												<c:forEach var="fourthItem" items="${subItem.subNavigations}" varStatus="index3">
184
													<c:set var="css" value="" />
185
													<c:if test="${index3.last}"><c:set var="css" value="lastLine" /></c:if>
186
													<li class="<c:out value="${css}"/>">
187
									
188
													<label class="nodeName"><c:out value="${fourthItem.nodeName}" /></label>
189
													<div class="<c:out value="${fourthItem.nodeId}"/>">
190
													<c:if test="${accessBean ne 3}">
191
													<c:if test="${not empty fourthItem.actionList}">
192
													<ul>
193
														<c:forEach var="fifthItem" items="${fourthItem.actionList}" varStatus="index4">
194
															<c:set var="css" value="" />
195
															<c:if test="${index4.last}"><c:set var="css" value="lastLine" /></c:if>
196
															<li class="<c:out value="${css}"/>">
197
															<htmlEL:multibox styleClass="action2All" property="selectedAccesses" disabled="true"><c:out value="${fifthItem.actionId}" /></htmlEL:multibox> 
198
															<label class="nodeName"><c:out value="${fifthItem.action}" /></label></li>
199
														</c:forEach>
200
													</ul>
201
													</c:if>
202
													</c:if>
203
													</div>
204
													</li>
205
												</c:forEach>
206
											</ul>
207
											</c:if>
208
											</div>
209
											</li>
210
										</c:forEach>
211
										</ul>
212
									</c:if>
213
									</div>
214
								</li>
215
							</c:forEach>
216
						</ul>
217
					</td>
218
				</tr>
219
			</c:when>
220
		</c:choose>
221
    
222 126
</table>
223 127
<div align="right">
224 128
	<htmlEL:submit property="action" styleClass="button" onclick="overlay();">
src/com/ib/ibss/controller/actions/ss102_user_admin/IBSSUserCreatingAction.java
19 19
import org.apache.struts.action.ActionForward;
20 20
import org.apache.struts.action.ActionMapping;
21 21

  
22
import com.ib.common.utils.DataValidator;
23 22
import com.ib.ibss.common.constant.AdminNavigationModeType.ModeType;
24 23
import com.ib.ibss.common.constant.JSPValidator;
25 24
import com.ib.ibss.common.constant.AdminPermissionModeType.IBAMPermission;
......
29 28
import com.ib.ibss.enterprise.services.common.SessionUserPermissionVerificationService;
30 29
import com.ib.ibss.enterprise.services.ss102_user_admin.IBSSUserCreateConfirmServices;
31 30
import com.ib.ibss.enterprise.services.ss102_user_admin.IBSSUserCreateGetGroupServices;
32
import com.ib.ibss.enterprise.services.ss102_user_admin.constants.IBSSUserConstants;
33 31
import com.ib.ibss.error.exception.IBSSGenericException;
34 32
import com.ib.ibss.struts.utils.IBSSControllerAction;
35 33
import com.ib.ibss.struts.utils.IBSSDynaBean;
......
82 80
			{
83 81

  
84 82
				IBSSDynaBean m_oIBDynaBean = IBSSDynaBeanManager.createIBSSDynaBean (p_oForm, p_oMapping);
85
				String userGroup = (String) m_oIBDynaBean.get(IBSSUserConstants.USER_GROUP);
86
				if(!DataValidator.isEmptyString(userGroup)){
87
					IBSSDynaBean m_oIBViewBean = (IBSSDynaBean) m_oIBDynaBean.get(IBSSUserConstants.IBSS_USER_ACCESS_VIEW);
88
					modeType = (String) m_oIBViewBean.get(IBSSUserConstants.ACCESS_VIEW_MODE_TYPE);	
89
				}
90 83
		
91 84
				if(!m_oError.isEmpty ())
92 85
				{
src/com/ib/ibss/enterprise/services/ss102_user_admin/IBSSUserCreateResultServices.java
11 11

  
12 12
package com.ib.ibss.enterprise.services.ss102_user_admin;
13 13

  
14
import java.util.LinkedHashSet;
15
import java.util.Set;
16

  
17 14
import net.penril.ibss.audit.log.AuditLogConstants;
18 15
import net.penril.ibss.audit.log.USER_ACTIVITY_TYTPE;
19
import net.penril.ibss.core.hibernate.AdminPermission;
20
import net.penril.ibss.core.hibernate.AdminPermissionId;
21 16
import net.penril.ibss.core.hibernate.AdminUserProfile;
22 17

  
23
import org.apache.commons.beanutils.DynaBean;
24

  
25
import com.ib.common.utils.Cryptographic;
26
import com.ib.ibss.common.constant.AdminNavigationModeType.ModeType;
27
import com.ib.ibss.common.constant.AdminPermissionModeType.IBAMPermission;
28 18
import com.ib.ibss.common.utils.IBSSLogger;
29 19
import com.ib.ibss.common.utils.ResourcesUtils;
30 20
import com.ib.ibss.enterprise.services.IBSSEnterpriseServicesWorkspace;
......
70 60
					getBeanMessage (IBSSUserConstants.LOGIN_ID),
71 61
					"Password");
72 62
			
73
			/* Set admin permission */
74
			DynaBean viewBean = (DynaBean) getIBSSDynaBean().get(IBSSUserConstants.IBSS_USER_ACCESS_VIEW);
75
			String groupMode = (String) viewBean.get(IBSSUserConstants.ACCESS_VIEW_MODE_TYPE);
76
			Long[] actionIdList = (Long[]) getIBSSDynaBean().get(IBSSUserConstants.USER_SELECTED_ACCESSES);
77
			String userAccessRole = (String) getIBSSDynaBean().get(IBSSUserConstants.USER_ACCESS_ROLE);
78
			Boolean isChecker = "c".equalsIgnoreCase(userAccessRole)? true : false;
79
			Set<AdminPermission> permissionSet = new LinkedHashSet<AdminPermission>();
80
			
81
			/* Set user admin role to admin profile for Customer Interaction Group only*/
82
			if(!ModeType.OBSERVATION.getModeIdentifier().equalsIgnoreCase(groupMode)){
83
				userAdminRole = isChecker ? "Checker" : "Maker";
84
			}
85
			
86 63
			/* Populate admin info into beans */
87 64
			AdminUserProfile m_oAdmin = m_oAdminService.populateUserProfile (
88 65
					getBeanMessage (IBSSUserConstants.LOGIN_ID),
......
94 71
					getIBSSessionObjects ().getSessionUser ().getUserId (),
95 72
					userAdminRole);
96 73
			
97
			//Test Observation no actionId
98
			if(!ModeType.OBSERVATION.getModeIdentifier().equalsIgnoreCase(groupMode)){
99
				if(actionIdList != null){
100
					for(int i = 0; i<actionIdList.length; i++){
101
						AdminPermission permission = new AdminPermission();
102
						permission.setApprover(isChecker);
103
						permission.setAdminAuthPermissionId(new AdminPermissionId(m_oAdmin.getUserId(), actionIdList[i]));
104
						permissionSet.add(permission);
105
//				m_oAdmin.getAdminPermissions().add(permission);
106
					}
107
					m_oAdmin.getAdminPermissions().addAll(permissionSet);					
108
				}
109
			}
110
			
111
			/* Get maker checker settings */
112
			Long actionId = IBAMPermission.CREATE_IBAM_USER.getActionId();
74
			System.out.println("getBeanMessage (IBSSUserConstants.LOGIN_USERNAME) = "+getBeanMessage (IBSSUserConstants.LOGIN_USERNAME));
75
			System.out.println("userAlias = "+getBeanMessage (IBSSUserConstants.LOGIN_ID));
113 76
			
114 77
			/* Create the user into database */
115 78
			m_sLogReason = m_oAdminService.createUserProfile (
src/com/ib/ibss/enterprise/services/ss103_group/IBSSUserGroupCreateResultServices.java
110 110
			m_oGroup.setGroupUpdatedBy (getIBSSessionObjects ().getSessionUser ().getUserId ());
111 111
			m_oGroup.setGroupUpdatedDate (m_oNow);
112 112
			m_oGroup.setGroupLvl (getIBSSessionObjects ().getSessionUser ().getAdminGroup ().getGroupLvl () + 1);
113
			m_oGroup.setModeType(ModeType.OBSERVATION.getModeIdentifier());
113
			m_oGroup.setModeType(ModeType.SYSTEM_ADMIN.getModeIdentifier());
114 114
			m_oGroup.setMkPending(false);
115 115
			
116 116
			getAdminGroupDAO ().createNewGroup (m_oGroup);
......
129 129
//					m_oNavigationGroup.setNodeCode (m_oNodeMap.get (Long.valueOf (c_saNavigations[i])));\
130 130
					m_oNavigationGroup.setGroup (m_oGroup);
131 131
					m_oNavigationGroup.setGroupId (m_oGroup.getGroupId ());
132
					
133
					//Set Observation mode as view only
134
					m_oNavigationGroup.setIsEdit(1L);
132
//					m_oNavigationGroup.setIsEdit(1L);
135 133
					
136 134
					m_oGroup.getGroupNavigations ().add (m_oNavigationGroup);		
137 135
					

Also available in: Unified diff