Revision 50:096de0e44504
WebContent/WEB-INF/config/ss103_group/form-beans.xml | ||
---|---|---|
17 | 17 |
<form-property name="groupDescription" type="java.lang.String" /> |
18 | 18 |
<form-property name="selectedAccesses" type="java.lang.String[]" /> |
19 | 19 |
<form-property name="editableAccesses" type="java.lang.String[]" /> |
20 |
<form-property name="viewableAccesses" type="java.lang.String[]" /> |
|
20 | 21 |
<form-property name="mode" type="java.lang.String" /> |
21 | 22 |
<form-property name="userType" type="java.lang.String" /> |
22 | 23 |
<form-property name="jspTitle" type="java.lang.String" /> |
WebContent/jsp/ss103_group/ibssGroupDetails.jsp | ||
---|---|---|
138 | 138 |
<c:set var="css" value=""/> |
139 | 139 |
<c:if test="${index.last}"><c:set var="css" value="lastLine"/></c:if> |
140 | 140 |
<li class="<c:out value="${css}"/>"> |
141 |
<htmlEL:multibox name="viewBean" property="accessibleArray" disabled="true" ><c:out value="${item.nodeId}"/></htmlEL:multibox> |
|
142 | 141 |
<label class="nodeName"><c:out value="${item.nodeName}"/></label> |
143 | 142 |
(<c:out value="${item.nodeCode}"/>) |
144 | 143 |
|
... | ... | |
148 | 147 |
<c:set var="css" value=""/> |
149 | 148 |
<c:if test="${index1.last}"><c:set var="css" value="lastLine"/></c:if> |
150 | 149 |
<li class="<c:out value="${css}"/>"> |
151 |
<htmlEL:multibox name="viewBean" property="accessibleArray" disabled="true" ><c:out value="${subItem.nodeId}"/></htmlEL:multibox> |
|
150 |
<htmlEL:multibox name="viewBean" property="editableArray" disabled="true" ><c:out value="${subItem.nodeId}"/></htmlEL:multibox> |
|
151 |
<htmlEL:multibox name="viewBean" property="viewableArray" disabled="true" ><c:out value="${subItem.nodeId}"/></htmlEL:multibox> |
|
152 | 152 |
<label class="nodeName"><c:out value="${subItem.nodeName}"/></label> |
153 | 153 |
(<c:out value="${subItem.nodeCode}"/>) |
154 | 154 |
|
... | ... | |
214 | 214 |
<bean:message key="general.button.delete"/> |
215 | 215 |
</htmlEL:submit> |
216 | 216 |
</c:if> |
217 |
<htmlEL:submit property="action" styleClass="button" onclick="popUp('../ss103/printForm.do','console',1000,800);return false;"> |
|
218 |
<bean:message key="general.button.print"/> |
|
219 |
</htmlEL:submit> |
|
220 | 217 |
|
221 | 218 |
</div> |
222 | 219 |
</c:otherwise> |
WebContent/jsp/ss103_group/ibssGroupEdit.jsp | ||
---|---|---|
104 | 104 |
<c:set var="css" value=""/> |
105 | 105 |
<c:if test="${index.last}"><c:set var="css" value="lastLine"/></c:if> |
106 | 106 |
<li class="<c:out value="${css}"/>"> |
107 |
<htmlEL:multibox styleClass="checkAll" name="viewBean" property="accessibleArray" disabled="false"><c:out value="${item.nodeId}"/></htmlEL:multibox>
|
|
107 |
<%-- <htmlEL:multibox styleClass="checkAll" name="viewBean" property="accessibleArray" disabled="false"><c:out value="${item.nodeId}"/></htmlEL:multibox> --%>
|
|
108 | 108 |
<label class="nodeName"><c:out value="${item.nodeName}"/></label> |
109 | 109 |
(<c:out value="${item.nodeCode}"/>) |
110 | 110 |
<div class="<c:out value="${item.nodeId}"/>"> |
... | ... | |
114 | 114 |
<c:set var="css" value=""/> |
115 | 115 |
<c:if test="${index1.last}"><c:set var="css" value="lastLine"/></c:if> |
116 | 116 |
<li class="<c:out value="${css}"/>"> |
117 |
<htmlEL:multibox styleClass="subAll" name="viewBean" property="accessibleArray" disabled="false"><c:out value="${subItem.nodeId}"/></htmlEL:multibox> |
|
117 |
<htmlEL:multibox name="viewBean" property="editableArray" disabled="false" ><c:out value="${subItem.nodeId}"/></htmlEL:multibox> |
|
118 |
<htmlEL:multibox name="viewBean" property="viewableArray" disabled="false" ><c:out value="${subItem.nodeId}"/></htmlEL:multibox> |
|
118 | 119 |
<label class="nodeName"><c:out value="${subItem.nodeName}"/></label> |
119 | 120 |
(<c:out value="${subItem.nodeCode}"/>) |
120 | 121 |
<div class="<c:out value="${subItem.nodeId}"/>"> |
WebContent/jsp/ss103_group/ibssGroupEditConfirm.jsp | ||
---|---|---|
93 | 93 |
<c:set var="css" value=""/> |
94 | 94 |
<c:if test="${index.last}"><c:set var="css" value="lastLine"/></c:if> |
95 | 95 |
<li class="<c:out value="${css}"/>"> |
96 |
<htmlEL:multibox styleClass="checkAll" name="ibssGroupForm" property="selectedAccesses" disabled="true"><c:out value="${item.nodeId}"/></htmlEL:multibox> |
|
97 | 96 |
<label class="nodeName"><c:out value="${item.nodeName}"/></label> |
98 | 97 |
(<c:out value="${item.nodeCode}"/>) |
99 | 98 |
<div class="<c:out value="${item.nodeId}"/>"> |
... | ... | |
103 | 102 |
<c:set var="css" value=""/> |
104 | 103 |
<c:if test="${index1.last}"><c:set var="css" value="lastLine"/></c:if> |
105 | 104 |
<li class="<c:out value="${css}"/>"> |
106 |
<htmlEL:multibox styleClass="subAll" name="ibssGroupForm" property="selectedAccesses" disabled="true"><c:out value="${subItem.nodeId}"/></htmlEL:multibox> |
|
105 |
<htmlEL:multibox styleClass="subAll" name="ibssGroupForm" property="editableAccesses" disabled="true" ><c:out value="${subItem.nodeId}"/></htmlEL:multibox> |
|
106 |
<htmlEL:multibox styleClass="subAll" name="ibssGroupForm" property="viewableAccesses" disabled="true" ><c:out value="${subItem.nodeId}"/></htmlEL:multibox> |
|
107 | 107 |
<label class="nodeName"><c:out value="${subItem.nodeName}"/></label> |
108 | 108 |
(<c:out value="${subItem.nodeCode}"/>) |
109 | 109 |
<div class="<c:out value="${subItem.nodeId}"/>"> |
src/com/ib/ibss/controller/actions/ss103_group/IBSSUserGroupEditConfirmAction.java | ||
---|---|---|
19 | 19 |
import org.apache.struts.action.ActionForward; |
20 | 20 |
import org.apache.struts.action.ActionMapping; |
21 | 21 |
|
22 |
import com.ib.ibss.common.constant.AdminNavigationModeType.ModeType; |
|
23 | 22 |
import com.ib.ibss.common.constant.AdminPermissionModeType.IBAMPermission; |
24 | 23 |
import com.ib.ibss.common.constant.FunctionConstants.FunctionCodeEnum; |
25 | 24 |
import com.ib.ibss.common.constant.JSPValidator; |
... | ... | |
28 | 27 |
import com.ib.ibss.enterprise.services.common.SessionUserPermissionVerificationService; |
29 | 28 |
import com.ib.ibss.enterprise.services.ss103_group.IBSSUserGroupEditConfirmServices; |
30 | 29 |
import com.ib.ibss.enterprise.services.ss103_group.constants.IBSSGroupConstants; |
31 |
import com.ib.ibss.error.exception.IBSSBusinessException; |
|
32 | 30 |
import com.ib.ibss.error.exception.IBSSGenericException; |
33 |
import com.ib.ibss.error.handler.IBSSErrorHandler; |
|
34 | 31 |
import com.ib.ibss.struts.utils.IBSSControllerAction; |
35 | 32 |
import com.ib.ibss.struts.utils.IBSSDynaBean; |
36 | 33 |
import com.ib.ibss.struts.utils.IBSSDynaBeanManager; |
... | ... | |
92 | 89 |
SessionUserPermissionVerificationService access = new SessionUserPermissionVerificationService(m_oSessionObjects); |
93 | 90 |
access.validateUser(actionId); |
94 | 91 |
|
95 |
//Retrieve mode selection |
|
96 |
String modeStr = (String) m_oIBDynaBean.get(IBSSGroupConstants.GROUP_MODE); |
|
97 |
|
|
98 |
String[] m_saAccessibleArray = p_oRequest.getParameterValues (IBSSGroupConstants.ACCESSIBLE_ARRAY); |
|
99 |
String[] m_saEditableArray = null; |
|
100 |
|
|
101 |
//Accessible must be selected at least one |
|
102 |
if(m_saAccessibleArray == null || m_saAccessibleArray.length == 0){ |
|
103 |
throw IBSSErrorHandler.createBusinessException("admin.group.edit.", "1", new String[] {""}); |
|
104 |
} |
|
105 |
//Prevent user save editable array for mode observation during javascript disable |
|
106 |
if(!ModeType.OBSERVATION.getModeIdentifier ().equalsIgnoreCase(modeStr)){ |
|
107 |
m_saEditableArray = p_oRequest.getParameterValues (IBSSGroupConstants.ACCESSIBLE_ARRAY); |
|
108 |
} |
|
109 |
|
|
110 |
m_oIBDynaBean.set (IBSSGroupConstants.SELECTED_ACCESSES, m_saAccessibleArray); |
|
111 |
m_oIBDynaBean.set (IBSSGroupConstants.EDITABLE_ACCESSES, m_saEditableArray); |
|
92 |
String[] viewableArray = p_oRequest.getParameterValues (IBSSGroupConstants.VIEWABLE_ARRAY); |
|
93 |
String[] editableArray = p_oRequest.getParameterValues (IBSSGroupConstants.EDITABLE_ARRAY); |
|
94 |
|
|
95 |
m_oIBDynaBean.set (IBSSGroupConstants.VIEWABLE_ACCESSES, viewableArray); |
|
96 |
m_oIBDynaBean.set (IBSSGroupConstants.EDITABLE_ACCESSES, editableArray); |
|
112 | 97 |
|
113 | 98 |
IBSSUserGroupEditConfirmServices m_oServices = new IBSSUserGroupEditConfirmServices(m_oSessionObjects); |
114 | 99 |
m_oServices.setIBSSDynaBean (m_oIBDynaBean); |
src/com/ib/ibss/enterprise/services/ss103_group/IBSSUserGroupEditConfirmServices.java | ||
---|---|---|
11 | 11 |
|
12 | 12 |
package com.ib.ibss.enterprise.services.ss103_group; |
13 | 13 |
|
14 |
import net.penril.ibss.audit.log.AuditLogConstants; |
|
15 | 14 |
import net.penril.ibss.core.hibernate.AdminGroup; |
16 | 15 |
import com.ib.ibss.enterprise.services.IBSSEnterpriseServicesWorkspace; |
17 | 16 |
import com.ib.ibss.enterprise.services.ss103_group.constants.IBSSGroupConstants; |
src/com/ib/ibss/enterprise/services/ss103_group/IBSSUserGroupEditResultServices.java | ||
---|---|---|
14 | 14 |
import java.util.ArrayList; |
15 | 15 |
import java.util.Date; |
16 | 16 |
import java.util.List; |
17 |
|
|
18 | 17 |
import net.penril.ibss.audit.log.AuditLogConstants; |
19 | 18 |
import net.penril.ibss.audit.log.USER_ACTIVITY_TYTPE; |
20 | 19 |
import net.penril.ibss.core.hibernate.AdminGroup; |
... | ... | |
22 | 21 |
|
23 | 22 |
import org.hibernate.exception.ConstraintViolationException; |
24 | 23 |
|
25 |
import com.ib.ibss.common.constant.AdminPermissionModeType.IBAMPermission; |
|
26 | 24 |
import com.ib.ibss.common.utils.ResourcesUtils; |
27 | 25 |
import com.ib.ibss.enterprise.services.IBSSEnterpriseServicesWorkspace; |
28 | 26 |
import com.ib.ibss.enterprise.services.common.BeanToBeanTransferUtils; |
29 |
import com.ib.ibss.enterprise.services.ss102_user_admin.AdminSharedServices; |
|
30 | 27 |
import com.ib.ibss.enterprise.services.ss102_user_admin.constants.IBSSUserConstants; |
31 | 28 |
import com.ib.ibss.enterprise.services.ss103_group.constants.IBSSGroupConstants; |
32 | 29 |
import com.ib.ibss.error.exception.IBSSGenericException; |
... | ... | |
90 | 87 |
String[] c_saViewArray = (String[]) c_oGroupViewBean.get (IBSSGroupConstants.VIEWABLE_ARRAY); |
91 | 88 |
c_oGroup = getAdminGroupDAO ().getGroupByIdentifier (c_oGroupID); |
92 | 89 |
|
93 |
updateCurrentGroup (c_oGroupID, c_saViewArray); |
|
90 |
updateCurrentGroup (c_oGroupViewBean, c_oGroupID, c_saViewArray);
|
|
94 | 91 |
} |
95 | 92 |
catch (Exception e) |
96 | 93 |
{ |
... | ... | |
118 | 115 |
} |
119 | 116 |
} |
120 | 117 |
|
121 |
private void updateCurrentGroup (Long p_oGroupId, String[] p_saViewArray) throws Exception |
|
118 |
private void updateCurrentGroup (IBSSDynaBean c_oGroupViewBean, Long p_oGroupId, String[] p_saViewArray) throws Exception
|
|
122 | 119 |
{ |
123 | 120 |
c_oGroup = getAdminGroupDAO ().getGroupByIdentifier (p_oGroupId); |
124 | 121 |
List<Long> deleteActionNodeIds = new ArrayList<Long> (); |
... | ... | |
137 | 134 |
|
138 | 135 |
//clear the admin navigation group before reassign |
139 | 136 |
c_oGroup.getGroupNavigations ().clear (); |
140 |
|
|
141 |
String[] c_saNavigations = (String[]) getIBSSDynaBean ().get (IBSSGroupConstants.SELECTED_ACCESSES); |
|
142 |
|
|
137 |
|
|
138 |
Long [] c_saNavigations = getAdminNavigationGroupDAO().getNodesByGroupId(p_oGroupId); |
|
139 |
|
|
140 |
//clear the admin navigation group before reassign |
|
141 |
c_oGroup.getGroupNavigations ().clear (); |
|
142 |
|
|
143 | 143 |
if(c_saNavigations != null) |
144 | 144 |
{ |
145 | 145 |
for(int i=0;i<c_saNavigations.length;i++) |
... | ... | |
147 | 147 |
AdminNavigationGroup m_oNavigationGroup = new AdminNavigationGroup(); |
148 | 148 |
m_oNavigationGroup.setGroup (c_oGroup); |
149 | 149 |
m_oNavigationGroup.setGroupId (p_oGroupId); |
150 |
m_oNavigationGroup.setNavigationId (Long.valueOf (c_saNavigations[i]));
|
|
150 |
m_oNavigationGroup.setNavigationId (c_saNavigations[i]);
|
|
151 | 151 |
|
152 |
String[] c_saEditables = (String[]) getIBSSDynaBean ().get (IBSSGroupConstants.EDITABLE_ACCESSES); |
|
153 |
if(c_saEditables != null) |
|
152 |
String[] editables = (String[]) getIBSSDynaBean ().get (IBSSGroupConstants.EDITABLE_ACCESSES); |
|
153 |
|
|
154 |
if(editables != null) |
|
154 | 155 |
{ |
155 |
for(int j=0;j<c_saEditables.length;j++)
|
|
156 |
{
|
|
157 |
if(c_saEditables[j].equals (c_saNavigations[i]))
|
|
156 |
for(int j=0;j<editables.length;j++)
|
|
157 |
{ |
|
158 |
if(editables[j].equals (String.valueOf(c_saNavigations[i])))
|
|
158 | 159 |
{ |
159 | 160 |
m_oNavigationGroup.setIsEdit (new Long(0)); |
160 | 161 |
break; |
... | ... | |
166 | 167 |
{ |
167 | 168 |
m_oNavigationGroup.setIsEdit (new Long(1)); |
168 | 169 |
} |
170 |
|
|
171 |
String[] viewables = (String[]) getIBSSDynaBean ().get (IBSSGroupConstants.VIEWABLE_ACCESSES); |
|
172 |
if(viewables != null) |
|
173 |
{ |
|
174 |
for(int j=0;j<viewables.length;j++) |
|
175 |
{ |
|
176 |
if(viewables[j].equals (String.valueOf(c_saNavigations[i]))) |
|
177 |
{ |
|
178 |
m_oNavigationGroup.setIsView(new Long(0)); |
|
179 |
break; |
|
180 |
} |
|
181 |
m_oNavigationGroup.setIsView(new Long(1)); |
|
182 |
} |
|
183 |
} |
|
184 |
else |
|
185 |
{ |
|
186 |
m_oNavigationGroup.setIsView (new Long(1)); |
|
187 |
} |
|
169 | 188 |
|
170 | 189 |
c_oGroup.getGroupNavigations ().add (m_oNavigationGroup); |
171 | 190 |
} |
172 | 191 |
} |
173 | 192 |
|
174 |
if (p_saViewArray != null) |
|
175 |
{ |
|
176 |
String eachViewAccess; |
|
177 |
boolean isAddToDelete; |
|
178 |
|
|
179 |
for (int i=0;i<p_saViewArray.length;i++) |
|
180 |
{ |
|
181 |
eachViewAccess = p_saViewArray[i]; |
|
182 |
isAddToDelete = true; |
|
183 |
|
|
184 |
for (int j=0;j<c_saNavigations.length;j++) |
|
185 |
{ |
|
186 |
if (eachViewAccess.equals (c_saNavigations[j])) |
|
187 |
{ |
|
188 |
isAddToDelete = false; |
|
189 |
break; |
|
190 |
} |
|
191 |
} |
|
192 |
|
|
193 |
if (isAddToDelete) |
|
194 |
{ |
|
195 |
deleteActionNodeIds.add (Long.valueOf (eachViewAccess)); |
|
196 |
} |
|
197 |
} |
|
198 |
} |
|
199 | 193 |
} |
200 | 194 |
else |
201 | 195 |
{ |
... | ... | |
207 | 201 |
//update db table if no error |
208 | 202 |
try |
209 | 203 |
{ |
210 |
|
|
211 |
AdminSharedServices m_oAdminService = new AdminSharedServices (); |
|
212 |
/* Get maker checker settings */ |
|
213 |
Long actionId = IBAMPermission.EDIT_IBAM_USER.getActionId(); |
|
214 |
boolean isMakerChecker = m_oAdminService.determineMakerChecker (actionId, getAdminActionDAO(), getIBSSessionObjects()); |
|
215 |
|
|
216 | 204 |
getAdminGroupDAO ().updateGroupAndDeleteActionsOfUsers (c_oGroup, |
217 | 205 |
deleteActionNodeIds); |
218 | 206 |
setBeanMessage (IBSSUserConstants.JSP_TITLE, |
src/com/ib/ibss/enterprise/services/ss103_group/constants/IBSSGroupConstants.java | ||
---|---|---|
60 | 60 |
public static final String VIEWABLE_ARRAY = "viewableArray"; |
61 | 61 |
public static final String SELECTED_ACCESSES = "selectedAccesses"; |
62 | 62 |
public static final String EDITABLE_ACCESSES = "editableAccesses"; |
63 |
public static final String VIEWABLE_ACCESSES = "viewableAccesses"; |
|
63 | 64 |
public static final String GROUP_MODE = "mode"; |
64 | 65 |
public static final String GROUP_OBSERVATION = "Observation"; |
65 | 66 |
public static final String ADMIN_GROUP = "adminGroup"; |
Also available in: Unified diff