Update Welcome.jsp

This commit is contained in:
Paramita Pahari 2025-04-02 07:10:00 +00:00
parent 41f0a65092
commit 97ffd735d7

View File

@ -1,150 +1,849 @@
<!-- filepath: /webapp/assignCapabilities.jsp --> <%--
<!DOCTYPE html> Document : welcome
Created on : Apr 11, 2024, 3:49:41 PM
Author : 2552586
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ page session="true" %>
<html> <html>
<head> <head>
<title>Assign Capabilities</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head> <meta charset="utf-8" />
<body> <!-- <title>IPKS | Home</title>-->
<h1>Assign Capabilities to User</h1> <title>IFSS | Home</title>
<form action="assignCapabilities" method="post"> <link rel="shortcut icon" href="img/favicon.ico?pacs=<%=((new java.util.Date()).getTime())%>" type="image/x-icon" />
<label for="userId">User ID:</label> <link rel="shortcut icon" href="/IFSS/img/favicon.ico?pacs=<%=((new java.util.Date()).getTime())%>" type="image/x-icon" />
<input type="text" id="userId" name="userId" required><br><br> <script type="text/javascript">
function noBack()
<label for="roleId">Role:</label> {
<select id="roleId" name="roleId" required> window.history.forward();
<option value="Teller">Teller</option>
<option value="Manager">Manager</option>
<option value="Supervisor">Supervisor</option>
<option value="CMO">CMO</option>
<option value="CMD">CMD</option>
</select><br><br>
<label for="screenIds">Screens:</label><br>
<button type="button" onclick="openScreenSelectionPopup()">Select Screens</button>
<div id="selectedScreens">
<!-- Selected screens will be displayed here -->
</div>
<script>
async function fetchAndDisplayScreens() {
// Fetch screen names from the database
const response = await fetch('/getScreens');
const screens = await response.json();
// Display the screens as checkboxes directly on the page
const screenContainer = document.createElement('div');
screenContainer.id = 'screenContainer';
screenContainer.innerHTML = `
<h3>Select Screens</h3>
${screens.map(screen => `
<label><input type="checkbox" value="${screen.id}"> ${screen.name}</label><br>
`).join('')}
<br>
<button id="saveScreens">Save</button>
`;
// Append the screen container to the selectedScreens div
const selectedScreensDiv = document.getElementById('selectedScreens');
selectedScreensDiv.innerHTML = ''; // Clear any previous content
selectedScreensDiv.appendChild(screenContainer);
// Add event listener to save selected screens
document.getElementById('saveScreens').onclick = function () {
const selectedScreens = [];
const checkboxes = screenContainer.querySelectorAll('input[type="checkbox"]:checked');
checkboxes.forEach(checkbox => {
selectedScreens.push(checkbox.value);
});
// Display selected screens in the div
selectedScreensDiv.innerHTML = selectedScreens.map(screen => `<p>${screen}</p>`).join('');
};
} }
// Call the function to fetch and display screens
fetchAndDisplayScreens();
</script> </script>
<br> <meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="/IFSS/css/styles.css?pacs=<%=((new java.util.Date()).getTime())%>"/>
<button type="submit">Assign</button> <link rel="stylesheet" type="text/css" href="/IFSS/css/ButtonAndText.css?pacs=<%=((new java.util.Date()).getTime())%>" />
</form> <link rel="stylesheet" type="text/css" href="/IFSS/css/info.css?pacs=<%=((new java.util.Date()).getTime())%>" />
</body> <link rel="stylesheet" type="text/css" href="/IFSS/css/wrapper.css?pacs=<%=((new java.util.Date()).getTime())%>"/>
</html> <link rel="stylesheet" type="text/css" href="/IFSS/bootstrap/css/bootstrap.min.css?pacs=<%=((new java.util.Date()).getTime())%>"/>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,300..900;1,300..900&display=swap" rel="stylesheet">
<script type="text/javascript" src="${pageContext.request.contextPath}/jquery-ui-1.10.4.custom/development-bundle/jquery-1.10.2.js?pacs=<%=((new java.util.Date()).getTime())%>"></script>
<script type="text/javascript" src="/IFSS/chromejs/chrome.js?pacs=<%=((new java.util.Date()).getTime())%>"></script>
<script type="text/javascript" src="/IFSS/js/iFrame_killer.js"></script>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="/IFSS/js/idleDetector.js"></script> <!-- Include external JS -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/sockjs-client/1.5.1/sockjs.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/stomp.js/2.3.3/stomp.min.js"></script>
<style>
package com.example; body {
height: 100vh;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.google.gson.Gson;
// Screen class to represent a screen object
class Screen {
private String id;
private String name;
public Screen(String id, String name) {
this.id = id;
this.name = name;
}
public String getId() {
return id;
}
public String getName() {
return name;
}
}
@WebServlet("/getScreens")
public class GetScreensServlet extends HttpServlet {
private static final String DB_URL = "jdbc:oracle:thin:@localhost:1521:xe";
private static final String DB_USER = "your_db_user";
private static final String DB_PASSWORD = "your_db_password";
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
List<Screen> screens = new ArrayList<>();
try (Connection conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD)) {
String sql = "SELECT SCREEN_ID, SCREEN_NAME FROM SCREENS";
PreparedStatement pstmt = conn.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
String id = rs.getString("SCREEN_ID");
String name = rs.getString("SCREEN_NAME");
screens.add(new Screen(id, name));
} }
} catch (Exception e) { /* The snackbar - position it at the bottom and in the middle of the screen */
e.printStackTrace(); #snackbar {
visibility: hidden; /* Hidden by default. Visible on click */
min-width: 200px; /* Set a default minimum width */
margin-left: -125px; /* Divide value of min-width by 2 */
background-color: #333; /* Black background color */
color: #fff; /* White text color */
text-align: center; /* Centered text */
border-radius: 2px; /* Rounded borders */
padding: 16px; /* Padding */
position: fixed; /* Sit on top of the screen */
z-index: 1; /* Add a z-index if needed */
left: 89%; /* Center the snackbar */
bottom: 100px; /* 30px from the bottom */
}
#snackbar2 {
visibility: hidden; /* Hidden by default. Visible on click */
min-width: 200px; /* Set a default minimum width */
margin-left: -125px; /* Divide value of min-width by 2 */
background-color: #333; /* Black background color */
color: #fff; /* White text color */
text-align: center; /* Centered text */
border-radius: 2px; /* Rounded borders */
padding: 16px; /* Padding */
position: fixed; /* Sit on top of the screen */
z-index: 1; /* Add a z-index if needed */
left: 12%; /* Center the snackbar */
bottom: 100px; /* 100px from the bottom */
}
#snackbar3 {
visibility: hidden; /* Hidden by default. Visible on click */
min-width: 200px; /* Set a default minimum width */
margin-left: -125px; /* Divide value of min-width by 2 */
background-color: #333; /* Black background color */
color: #fff; /* White text color */
text-align: center; /* Centered text */
border-radius: 2px; /* Rounded borders */
padding: 16px; /* Padding */
position: fixed; /* Sit on top of the screen */
z-index: 1; /* Add a z-index if needed */
left: 12%; /* Center the snackbar */
bottom: 100px; /* 100px from the bottom */
}
#notiButton {
min-width: 100px; /* Set a default minimum width */
margin-left: -125px; /* Divide value of min-width by 2 */
background-color: #333; /* Black background color */
color: #fff; /* White text color */
text-align: center; /* Centered text */
border-radius: 2px; /* Rounded borders */
padding: 16px; /* Padding */
position: fixed; /* Sit on top of the screen */
z-index: 1; /* Add a z-index if needed */
left: 95%; /* Center the snackbar */
bottom: 30px; /* 30px from the bottom */
}
#dReport {
min-width: 100px; /* Set a default minimum width */
margin-left: -125px; /* Divide value of min-width by 2 */
background-color: #333; /* Black background color */
color: #fff; /* White text color */
text-align: center; /* Centered text */
border-radius: 2px; /* Rounded borders */
padding: 16px; /* Padding */
position: fixed; /* Sit on top of the screen */
z-index: 1; /* Add a z-index if needed */
left: 12%; /* Center the snackbar */
bottom: 35px; /* 30px from the bottom */
}
#dReport2 {
min-width: 100px; /* Set a default minimum width */
margin-left: -125px; /* Divide value of min-width by 2 */
background-color: #333; /* Black background color */
color: #fff; /* White text color */
text-align: center; /* Centered text */
border-radius: 2px; /* Rounded borders */
padding: 16px; /* Padding */
position: fixed; /* Sit on top of the screen */
z-index: 1; /* Add a z-index if needed */
left: 28%; /* Center the snackbar */
bottom: 35px; /* 30px from the bottom */
}
/*commented on 19/3/24*/
#footer {
width:100%;
height:75px;
position:fixed;
padding-top: 130px;
left: 0;
padding-bottom:0px;
/* position: fixed;
padding: 10px 10px 0px 10px;
bottom: 0;
left: 0;
right: 0;*/
/*height: 40px; Height of the footer*/
/* background: #8dce09; 57EE0B; #B5FF33*/
}
/*.footerSection_New {
position: fixed;
left: 0;
bottom: 0;
width: 100%;
min-width: 1024px !important;
min-height: 10px;
z-index: 111;
background: #2b2b2b 0 0 no-repeat padding-box;
}*/
/*added on 19/3/24*/
#page-footer {
display: flex;
justify-content: space-between;
background-color: #f2f2df;
font-size: 1em;
font-weight: 500;
color: #5C8DC5;
font-family: "Rubik", sans-serif;
/* position: fixed;
left: 0;
bottom: 0;*/
width: 100%;
}
#page-footer div {
padding: 10px;
}
.privacyPol {
right: 0;
text-align: right;
padding: 5px;
border-radius: 5px;
;
position: fixed;
bottom: 1;
color: #0000e6;
min-width: 10px !important;
min-height: 7px;
z-index: 111;
/* background: #2b2b2b 0 0 no-repeat padding-box;*/
}
/* Show the snackbar when clicking on a button (class added with JavaScript) */
#snackbar.show {
visibility: visible; /* Show the snackbar */
/* Add animation: Take 0.5 seconds to fade in and out the snackbar.
However, delay the fade out process for 2.5 seconds */
-webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
animation: fadein 0.5s, fadeout 0.5s 2.5s;
}
#snackbar2.show {
visibility: visible; /* Show the snackbar */
/* Add animation: Take 0.5 seconds to fade in and out the snackbar.
However, delay the fade out process for 2.5 seconds */
-webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
animation: fadein 0.5s, fadeout 0.5s 2.5s;
}
#snackbar3.show {
visibility: visible; /* Show the snackbar */
/* Add animation: Take 0.5 seconds to fade in and out the snackbar.
However, delay the fade out process for 2.5 seconds */
-webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
animation: fadein 0.5s, fadeout 0.5s 2.5s;
}
/*//added on 16/4/24*/
fieldset {
display: block;
margin-inline-start: 2px;
margin-inline-end: 2px;
padding-block-start: 0.35em;
padding-inline-start: 0.75em;
padding-inline-end: 0.75em;
padding-block-end: 0.625em;
min-inline-size: min-content;
border-style: groove;
border-image: initial;
flex: 1;
/* legend {
display: block;
padding-inline-start: 2px;
padding-inline-end: 2px;
unicode-bidi: isolate;
border-width: initial;
border-style: none;
border-color: initial;
border-image: initial;
element.style {
padding: 8px;
border-radius: 20px;
background-color: #006600;
color: white;*/
}
/*#menu a {
float: left;
padding: 12px 30px;
color: rgb(0,140,69);
text-transform: uppercase;
font: bold 12px Arial, Helvetica;
text-decoration: none; }*/
/* Animations to fade the snackbar in and out */
@-webkit-keyframes fadein {
from {
bottom: 60;
opacity: 0;
}
to {
bottom: 100px;
opacity: 1;
}
}
@keyframes fadein {
from {
bottom: 60;
opacity: 0;
}
to {
bottom: 100px;
opacity: 1;
}
}
@-webkit-keyframes fadeout {
from {
bottom: 100px;
opacity: 1;
}
to {
bottom: 60;
opacity: 0;
}
}
@keyframes fadeout {
from {
bottom: 100px;
opacity: 1;
}
to {
bottom: 60;
opacity: 0;
}
}
/* added style on 28/6/24*/
.main-container {
display: flex;
/*height: 80vh;*/
width: inherit;
padding: 0px 10px;
}
.left-section {
display: flex;
flex-direction: column;
justify-content: space-between;
flex: 2;
/* background-color: #B1E1B3;*/
color: #008C46;
/* Light gray background */
/* padding: 10px;*/
}
.right-section {
flex: 5;
/*background-color: #B1E1B3;*/
/* Light gray background */
/*text-align: center;*/
/*color: #008C46*/;
color: #5C8DC5;
font-size: 15px;
/*padding-top: 45px;*/
}
.left-section-below {
display: flex;
flex: 1;
/* background-color: #B1E1B3;*/
color: #008C46;
gap: 50px;
/* Light gray background */
/* padding: 10px;*/
}
#holiday-legend {
background-color: #AD9E90;
/*color: rgb(177,224,178);*/
color: white;
border-color: #80AE82 !important;
border: 2px solid rgb(177,224,178);
}
/* Added here for bradcast message style*/
.blur {
filter : blur(10px);
}
.popup {
position: fixed;
top: 50%;
left:50%;
background-color: white;
transform: translate(-50%, -50%);
padding: 20px;
border-radius: 10px;
z-index: 1000;
box-shadow: 0px 0px 10px rgba(0,0,0,0.5) ;
width: 80%;
max-width: 500px;
text-align: center;
}
.popup h2{
margin-top: 0;
color: #333;
}
.popup p {
color: #666;
line-height: 1.6;
}
.popup button{
background-color: #007bff;
color: #fff;
border: none;
padding: 10px 20px;
border-radius: 5px;
cursor: pointer;
font-size: 16px;
margin-top: 20px;
}
/*Added for dashboard*/
.dashboard-container {
display: flex;
justify-content: center;
/* flex-wrap: wrap;*/
gap: 10px;
padding: 10px;
}
.chart-container {
width: 250px;
height: 290px;
background: beige;
padding: 10px;
border-radius: 10px;
box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
}
/* Added for Session timeout message */
/* Modal Styles */
.modal {
display: none; /* Hidden by default */
position: fixed;
z-index: 1000;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(0,0,0,0.5);
}
.modal-content {
background-color: white;
margin: 15% auto;
padding: 20px;
border: 1px solid #888;
width: 300px;
text-align: center;
border-radius: 8px;
}
.modal button {
margin: 10px;
padding: 10px 15px;
border: none;
cursor: pointer;
border-radius: 5px;
}
.modal .continue-btn {
background-color: green;
color: white;
}
.modal .logout-btn {
background-color: red;
color: white;
} }
// Convert the list of screens to JSON </style>
Gson gson = new Gson(); <script type="text/javascript" language="javascript">
String json = gson.toJson(screens); $(function () {
$('marquee').mouseover(function () {
$(this).attr('scrollamount', 0);
}).mouseout(function () {
$(this).attr('scrollamount', 5);
});
});
// Write the JSON response $(document).ready(function () {
PrintWriter out = response.getWriter(); $(document).on('click', '.est_btn', function (event) {
out.print(json); if ($('.est_btn').index(this) == 0) {
out.flush(); document.location.href = "/IFSS/KCCSevlet";
} } else if ($('.est_btn').index(this) == 1) {
} document.location.href = "/IFSS/TradingSevlet";
} else if ($('.est_btn').index(this) == 2) {
document.location.href = "/IFSS/AssetServlet";
<%--}else if($('.est_btn').index(this) == 3){
document.location.href="/IFSS/PDSServlet";--%>
} else if ($('.est_btn').index(this) == 4) {
document.location.href = "/IFSS/SHGServlet";
<%-- }else if($('.est_btn').index(this) == 5){
document.location.href="/IFSS/GPSServlet";--%>
} else if ($('.est_btn').index(this) == 6) {
document.location.href = "/IFSS/MISDashboardSevlet";
} else if ($('.est_btn').index(this) == 7) {
document.location.href = "/IFSS/DepositServlet";
} else if ($('.est_btn').index(this) == 8) {
document.location.href = "/IFSS/LoanServlet";
} else if ($('.est_btn').index(this) == 9) {
document.location.href = "/IFSS/ShareServlet";
<%--}else if($('.est_btn').index(this) == 10){
document.location.href="/IFSS/SODEODServlet";--%>
}
});
});
// to restrict going back
history.pushState(null, null, location.href);
window.addEventListener('popstate', function (event) {
history.pushState(null, null, location.href);
});
$(function () {
if ($.browser.msie && $.browser.version.substr(0, 1) < 7)
{
$('li').has('ul').mouseover(function () {
$(this).children('ul').css('visibility', 'visible');
}).mouseout(function () {
$(this).children('ul').css('visibility', 'hidden');
})
}
});
var repeater;
function downloadReport()
{
var formDownloadReport = document.getElementById("reportForm");
formDownloadReport.reportPath.value = "/Reports/investment_mat_report.jasper";
formDownloadReport.reportName.value = "investment_mat_report";
formDownloadReport.DOWNLOAD.value = "P";
formDownloadReport.action = '/IFSS/jasperReportServlet';
formDownloadReport.submit();
}
function downloadReport2()
{
var formDownloadReport = document.getElementById("reportForm3");
formDownloadReport.reportPath.value = "/Reports/nsckvp_exp_report.jasper";
formDownloadReport.reportName.value = "NSC_KVP_Exp_Report";
formDownloadReport.DOWNLOAD.value = "P";
formDownloadReport.action = '/IFSS/jasperReportServlet';
formDownloadReport.submit();
}
</script>
<!-- Added by Paramita for broadcast Message -->
<script>
function closePopup() {
document.getElementById("popup").style.display = "none";
document.getElementById("overlay").style.display = "none";
document.getElementById("mainContent").classList.remove('blur');
}
</script>
</head>
<body onload="noBack()">
<%
String ModuleName = new String();
ModuleName = (String) session.getAttribute("moduleName");
String role = (String) session.getAttribute("userRole");
String pacsId = (String) session.getAttribute("pacsId");
String holidayList = (String) session.getAttribute("holidayList");
String kccBalanceTransfer = (String) session.getAttribute("kccBalanceTransfer");
String broadcastMessage = (String)session.getAttribute("returnMessage");
// added by chhanda on 29/8/24
String user = (String) session.getAttribute("user");
String pacsName = (String) session.getAttribute("pacsName");
String UserName = (String) session.getAttribute("UserName");
String Mobile = (String) session.getAttribute("Mobile");
%>
<!-- Added for Dashboard -->
<script>
window.onload = function () {
fetchUserData();
};
function fetchUserData() {
$.ajax({
url: "/IFSS/TicketServlet",
method: "GET",
dataType: "json",
success: function (data) {
console.log(data);
populateUserDropdown(data);
},
error: function (xhr, status, error) {
console.error("Error fetching data: " + error);
}
});
}
function populateUserDropdown(users) {
let dropdown = document.getElementById("userDropdown");
users.forEach(user => {
let option = document.createElement("option");
option.value = user.user_id;
option.textContent = "User_" + user.user_id;
dropdown.appendChild(option);
});
// Add event listener for dropdown change
dropdown.addEventListener("change", function () {
let selectedUserId = this.value;
let selectedUser = users.find(user => user.user_id == selectedUserId);
displayUserCharts(selectedUser);
});
}
function displayUserCharts(user) {
let container = document.getElementById("userDashboard");
container.innerHTML = ""; // Clear previous charts
// Create doughnut chart container
let doughnutChartContainer = document.createElement("div");
doughnutChartContainer.classList.add("chart-container");
let doughnutTitle = document.createElement("h4");
doughnutTitle.textContent = user.user_id;
let doughnutCanvas = document.createElement("canvas");
doughnutCanvas.id = "doughnut_chart_" + user.user_id;
// Append elements for doughnut chart
doughnutChartContainer.appendChild(doughnutTitle);
doughnutChartContainer.appendChild(doughnutCanvas);
container.appendChild(doughnutChartContainer);
// Create bar chart container
let barChartContainer = document.createElement("div");
barChartContainer.classList.add("chart-container");
let barTitle = document.createElement("h4");
barTitle.textContent = user.user_id;
let barCanvas = document.createElement("canvas");
barCanvas.id = "bar_chart_" + user.user_id;
// Append elements for bar chart
barChartContainer.appendChild(barTitle);
barChartContainer.appendChild(barCanvas);
container.appendChild(barChartContainer);
setTimeout(() => {
// Doughnut chart
let doughnutCtx = doughnutCanvas.getContext("2d");
if (!doughnutCtx) {
console.error(`Failed to get 2D context for canvas '${doughnutCanvas.id}'`);
return;
}
new Chart(doughnutCtx, {
type: 'doughnut',
data: {
labels: ["unclaimed", "Overdue", "kyc", "SI"],
datasets: [{
data: [user.unclaimed, user.Loan_overdue, user.kyc_status, user.si_status],
backgroundColor: ["#36A2EB", "#FF6384", "#4BC0C0", "#FFCE56"],
hoverOffset: 8
}]
},
options: {
responsive: true,
cutout: '70%', // Inner empty circle
plugins: {
legend: {
display: true,
position: 'right'
}
}
}
});
// Bar chart
let barCtx = barCanvas.getContext("2d");
if (!barCtx) {
console.error(`Failed to get 2D context for canvas '${barCanvas.id}'`);
return;
}
new Chart(barCtx, {
type: 'bar',
data: {
labels: ["unclaimed", "Overdue", "kyc", "SI"],
datasets: [{
label: 'User Data',
data: [user.unclaimed, user.Loan_overdue, user.kyc_status, user.si_status],
backgroundColor: ["#36A2EB", "#FF6384", "#4BC0C0", "#FFCE56"]
}]
},
options: {
responsive: true,
plugins: {
legend: {
display: true,
position: 'top'
}
},
scales: {
y: {
beginAtZero: true
}
}
}
});
}, 100);
}
</script>
<div id ="mainContent" class="<%=broadcastMessage != null ? "blur" : ""%>">
<jsp:include page="/menuHeadDeposit" flush="true" />
<!-- Modal -->
<div id="idleModal" class="modal">
<div class="modal-content">
<p>You have been idle for 5 minutes.</p>
<p>Click "Continue" to stay logged in or "Logout" to exit.</p>
<button class="continue-btn" onclick="continueSession()">Continue</button>
<button class="logout-btn" onclick="logoutSession()">Logout</button>
</div>
</div>
<br>
<div class="main-container">
<div class="left-section">
<fieldset style="background-color: rgb(237, 237, 237); border-color: rgb(100, 149, 237); border-radius: 20px; margin-left: 5px;margin-right: 01px;">
<legend id="holiday-legend" style=" margin-left: 40px; width:110px; padding: .5px 10px; border-radius: 18px; background-color: rgb(100, 149, 237); color: rgb(255,255,255)">Holidays</legend>
<form name="holidayForm" method="post" action="">
<ul>
<li>
<p><font color="white"><%=holidayList%></font>
</p>
</li>
</ul></form></fieldset>
<fieldset style="border-radius: 20px; border-color: rgb(100, 149, 237); border-width: 2px; margin-left: 5px;margin-right: 01px; margin-top: 20px;background-color: rgb(237, 237, 237)"/>
<legend style="margin-left: 40px; width:110px; padding: .5px 15px; border-radius: 18px; background-color: rgb(100, 149, 237); color: rgb(255,255,255)">Notifications</legend>
<form name="UserInfo" method="post" action="">
<!-- <ul>
<li>
<p><font color="dimgrey">Teller Id : <font color="green"><%=user%></font></font>
</p>
</li>
<li>
<p><font color="dimgrey">Institute : <font color="green"><%=pacsName%></font></font>
</p>
</li>
<li>
<p><font color="dimgrey">User Type : <font color="green"><%=UserName%></font></font>
</p>
</li>
<li>
<p><font color="dimgrey">Phone No : <font color="green"><%=Mobile%></font></font>
</p>
</li>
</ul>-->
<ul>
<li>
<p><font color="dimgrey">Test Notification 1.</font>
</p>
</li>
</ul>
<ul>
<li>
<p><font color="dimgrey">Test Notification 2.</font>
</p>
</li>
</ul>
<ul>
<li>
<p><font color="dimgrey">Test Notification 3.</font>
</p>
</li>
</ul>
<!-- <ul>
<li>
<p><font color="dimgrey">For On-Call-Issue-Resolution reach us in : </font><font color="blue"> 033-4065-9546 / 4071-8135 </font><font color="dimgrey">( 9:00 AM to 9:00 PM only ).</font></p>
</li>
</ul>-->
<ul>
<li>
<p><font color="dimgrey">Test Notification 4. </font></p>
</li>
</ul>
<ul>
<li>
<p><font color="dimgrey">Test Notification 5.</font></p>
</li>
</ul>
<ul>
<li>
<p><font color="dimgrey">Test Notification 6. </font></p>
</li>
</ul>
</form>
</fieldset>
</div>
<div class="right-section">
<fieldset style="border-radius: 20px; border-color: rgb(100, 149, 237); border-width: 2px; margin-left: 10px;margin-right: 1px;background-color: rgb(237, 237, 237)">
<legend style="margin-left: 40px; width:120px; padding: .5px 20px; border-radius: 18px; background-color: rgb(100, 149, 237); color: rgb(255,255,255)">Dashboard</legend>
<form name="notificationForm" method="post" action="">
<select id="userDropdown">
<option value="">Select User</option>
</select>
<div class="dashboard-container" id="userDashboard">
<!-- Charts will be added dynamically -->
</div>
</form>
</fieldset>
<input type="hidden" name="roleId" id="roleId" value="<%=role%>"/>
<input type="hidden" name="pacsId" id="pacsId" value="<%=pacsId%>"/>
<!--added div-->
</div>
</div>
<!--added on 19/3/24-->
<footer id="page-footer">
<!-- <div>
Copyright © 2025, Managed By Tata Consultancy Services. All rights reserved
</div>-->
<div>
<a href="/IFSS/privacyPolicy.jsp">Privacy Policy</a>
</div>
</footer>
</div>
<!-- Added here for broadcast -->
<% if (broadcastMessage != null && !broadcastMessage.isEmpty()) {%>
<div id ="popup" class ="popup">
<p><%=broadcastMessage%></p>
<button onclick="closePopup()">Close</button>
</div>
<div id ="overlay" class="overlay"></div>
<%} else{%>
<script>
console.log("Broadcast Message is either empty or null");
</script>
<% }%>
</body>
</html>