Commit 5d5093ab authored by Ajit Deshmukh's avatar Ajit Deshmukh

Updated profile ID validation logic to handle both single and comma-separated...

Updated profile ID validation logic to handle both single and comma-separated multiple profile IDs for logged-in users
parent 9a6fb118
......@@ -541,11 +541,29 @@ public class ManageSql extends ValidatorEJB {
valueXmlString.append("<name><![CDATA[").append(empgName).append("]]></name>\r\n");
valueXmlString.append("<users_name><![CDATA[").append(empgName).append("]]></users_name>\r\n");
if(profileId.trim().equalsIgnoreCase("MSDEVTL")){
valueXmlString.append("<exec_aprv protect='0'>").append("<![CDATA["+execAprv+"]]>").append("</exec_aprv>\r\n");
boolean isMSDEVTL = false;
if (profileId != null) {
String[] profileIds = profileId.split(",");
for (String id : profileIds) {
if ("MSDEVTL".equalsIgnoreCase(id.trim())) {
isMSDEVTL = true;
break;
}
}
}
else{
valueXmlString.append("<exec_aprv protect='1'>").append("<![CDATA["+execAprv+"]]>").append("</exec_aprv>\r\n");
if (isMSDEVTL) {
valueXmlString.append("<exec_aprv protect='0'>")
.append("<![CDATA[" + execAprv + "]]>")
.append("</exec_aprv>\r\n");
} else {
valueXmlString.append("<exec_aprv protect='1'>")
.append("<![CDATA[" + execAprv + "]]>")
.append("</exec_aprv>\r\n");
}
BaseLogger.log("3", null, null, "execAprv 523@@>>>"+ execAprv);
//changed by Ashish.J
......@@ -560,7 +578,7 @@ public class ManageSql extends ValidatorEJB {
String deptCode = "";
BaseLogger.log("3", null, null, "wfStatus>>>"+ wfStatus);
// APPLY ONLY WHEN WF_STATUS = A
// APPLY ONLY WHEN WF_STATUS = A
if(wfStatus != null && wfStatus.trim().equalsIgnoreCase("A")) {
BaseLogger.log("3", getUserInfo(), null,
......@@ -585,18 +603,18 @@ public class ManageSql extends ValidatorEJB {
Element elem = (Element) node;
String tagName = elem.getTagName();
// 🔹 Get value
// 9 Get value
String value = "";
if (elem.getFirstChild() != null) {
value = elem.getFirstChild().getNodeValue();
}
// 🔹 Handle null string
// 9 Handle null string
if (value == null || "null".equalsIgnoreCase(value)) {
value = "";
}
// 🔹 Append to valueXmlString (fixed)
// 9 Append to valueXmlString (fixed)
valueXmlString.append("<")
.append(tagName)
.append(" protect=\"1\">")
......@@ -617,21 +635,39 @@ public class ManageSql extends ValidatorEJB {
BaseLogger.log("3", getUserInfo(), null, "Detail1 node NOT found in DOM");
}
}
else {
BaseLogger.log("3", getUserInfo(), null, "profileId:: "+profileId);
BaseLogger.log("3", getUserInfo(), null, "profileId::: "+profileId);
BaseLogger.log("3", getUserInfo(), null, "wfStatus:: "+wfStatus);
if(profileId.trim().equalsIgnoreCase("MSDEVTL") && !wfStatus.trim().equalsIgnoreCase("A")){
valueXmlString.append("<exec_aprv protect='0'>").append("<![CDATA["+execAprv+"]]>").append("</exec_aprv>\r\n");
boolean isMSDEVTL = false;
if (profileId != null) {
String[] profileIds = profileId.split(",");
for (String id : profileIds) {
if ("MSDEVTL".equalsIgnoreCase(id.trim()) && !wfStatus.trim().equalsIgnoreCase("A")) {
isMSDEVTL = true;
break;
}
}
}
else{
valueXmlString.append("<exec_aprv protect='1'>").append("<![CDATA["+execAprv+"]]>").append("</exec_aprv>\r\n");
if (isMSDEVTL) {
valueXmlString.append("<exec_aprv protect='0'>")
.append("<![CDATA[" + execAprv + "]]>")
.append("</exec_aprv>\r\n");
}
else{
valueXmlString.append("<exec_aprv protect='1'>")
.append("<![CDATA[" + execAprv + "]]>")
.append("</exec_aprv>\r\n");
}
BaseLogger.log("3", getUserInfo(), null,
"workflow not approved. Skipping protect. Status: " + wfStatus);
}
BaseLogger.log("3", getUserInfo(), null, "valueXmlString:: "+valueXmlString.toString());
// if (applDB.equalsIgnoreCase("E"))
......@@ -990,4 +1026,4 @@ public class ManageSql extends ValidatorEJB {
}
return input.trim();
}
}
\ No newline at end of file
}
......@@ -1242,6 +1242,7 @@ public class ManageSqlConf extends ActionHandlerEJB {
String status = "";
String refTranId = "";
String profileId = "";
boolean isMSADMIN = false;
UserInfoBean userInfo;
try {
userInfo = getUserInfo();
......@@ -1256,7 +1257,18 @@ public class ManageSqlConf extends ActionHandlerEJB {
profileId = checkNull(userInfo.getProfileId());
// Added condition if profileId is not MSADMIN return a validation
if (!profileId.trim().equalsIgnoreCase("MSADMIN")) {
if (profileId != null) {
String[] profileIds = profileId.split(",");
for (String id : profileIds) {
if ("MSADMIN".equalsIgnoreCase(id.trim())) {
isMSADMIN = true;
break;
}
}
}
if (!isMSADMIN) {
BaseLogger.log("3", getUserInfo(), null, "Only Admin can close this transaction.");
return itmdbAccessLocal.getErrorString("", "MSQLCNA", "", "", con);
}
......
......@@ -388,4 +388,8 @@ Insert into MESSAGES (MSG_NO,MSG_STR,MSG_DESCR,MSG_TYPE,MSG_OPT,MSG_TIME,ALARM,E
-----------28May--------------
update user_rights set RIGHTS = 'TEPSA' where obj_name = 'sql_changes' and profile_id = 'MSDEVTL';
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment