Revision 50:096de0e44504

View differences:

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