This commit is contained in:
louiscklaw
2025-01-31 19:15:17 +08:00
parent 09adae8c8e
commit 6c60a73f30
1546 changed files with 286918 additions and 0 deletions

View File

@@ -0,0 +1,85 @@
<%--
Document : dashboard
Created on : 2019/11/11, 下午 10:08:39
Author : JerryKwok
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="system.bean.ClassBean, java.util.ArrayList"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Admin Area | Dashboard</title>
<!-- Bootstrap core CSS -->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
<link href="../css/bootstrap.css" rel="stylesheet">
<link href="../css/style.css" rel="stylesheet">
</head>
<body>
<jsp:include page="../header.jsp"></jsp:include>
<section id="main">
<div class="container">
<div class="row">
<div class="col-lg-3">
<%@taglib uri="/WEB-INF/tlds/nav-taglib.tld" prefix="nav" %>
<nav:showNav role="Admin" active="attendance" />
</div>
<div class="col-lg-9">
<!-- Main -->
<div class="card">
<div class="card-header main-color-bg">
<h5 class="card-title">Class</h5>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-hover">
<thead>
<tr>
<th scope="col">Class</th>
<th scope="col"> </th>
<th scope="col">Head</th>
</tr>
</thead>
<tbody>
<jsp:useBean id="classList" scope="request" class="java.util.ArrayList<system.bean.ClassBean>"/>
<%
for (ClassBean classVal : classList) {
out.print("<tr data-href=\"attendance?class=" + classVal.getClassName() + "\">");
out.print("<td colspan=2>" + classVal.getClassName() + "</td>");
out.print("<td>" + classVal.getTeacherBean().getTeacherFormalName() + "</td>");
out.print("</tr>");
}
%>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<br><br>
<footer></footer>
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script>
$(document).ready(function () {
$("tr[data-href]").click(function () {
window.location.href = $(this).attr("data-href");
})
});
</script>
</body>
</html>

View File

@@ -0,0 +1,176 @@
<%--
Document : dashboard
Created on : 2019/11/11, 下午 10:08:39
Author : JerryKwok
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="system.bean.ClassBean, system.bean.AttendBean, java.util.ArrayList, java.util.Date, java.text.SimpleDateFormat"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Admin Area | Dashboard</title>
<!-- Bootstrap core CSS -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
<link href="../css/bootstrap.css" rel="stylesheet">
<link href="../css/bootstrap-datepicker.min.css" rel="stylesheet">
<link href="../css/style.css" rel="stylesheet">
</head>
<%!
Date date = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
%>
<%
String urlForm = "attendance?";
String urlDate = request.getParameter("date");
String urlClass = request.getParameter("class");
if (urlDate != null) {
urlForm += ("date=" + urlDate + "&");
}
if (urlDate != null) {
urlForm += ("class=" + urlClass);
}
%>
<body>
<jsp:include page="../header.jsp"></jsp:include>
<section id="main">
<div class="container">
<div class="row">
<div class="col-lg-3">
<%@taglib uri="/WEB-INF/tlds/nav-taglib.tld" prefix="nav" %>
<nav:showNav role="Admin" active="attendance" />
</div>
<div class="col-lg-9">
<%
if (request.getAttribute("message") != null) {
out.print("<div class='alert alert-success alert-dismissible fade show' role='alert'>");
out.print("<strong>Attendance Saved</strong>");
out.print("<button type='button' class='close' data-dismiss='alert' aria-label='Close'>");
out.print("<span aria-hidden='true'>&times;</span></button></div>");
}
%>
<!-- Main -->
<div class="card">
<div class="card-header main-color-bg">
<h5 class="card-title">Select Date</h5>
</div>
<form action="attendance" method="GET">
<div class="card-body">
<div class="form-group">
<label>Class</label>
<select class="form-control" name="class">
<jsp:useBean id="classList" scope="request" class="java.util.ArrayList<system.bean.ClassBean>"/>
<%
for (ClassBean classVal : classList) {
if (request.getParameter("class").equals(classVal.getClassName())) {
out.print("<option value='" + classVal.getClassName() + "' selected>" + classVal.getClassName() + "</option>");
} else {
out.print("<option value='" + classVal.getClassName() + "'>" + classVal.getClassName() + "</option>");
}
}
%>
</select>
</div>
<div class="form-group">
<label>Select Date</label>
<div class="input-group date">
<input type="text" class="form-control" id="datepicker" name="date" value="<%= request.getParameter("date") == null ? formatter.format(date) : request.getParameter("date")%>">
<div class="input-group-addon">
<span class="glyphicon glyphicon-th"></span>
</div>
</div>
</div>
<br>
<a href="attendance">
<button type="button" class="btn btn-secondary">
Back
</button>
</a>
<button type="submit" class="btn btn-primary right">Submit</button>
</div>
</form>
</div>
<!-- Main -->
<div class="card">
<div class="card-header main-color-bg">
<h5 class="card-title">Attend List</h5>
</div>
<form action="<%= urlForm%>" method="POST">
<div class="card-body">
<div class="form-group">
<label>Class</label>
<table class="table table-hover">
<thead>
<tr>
<th scope="col">Attend</th>
<th scope="col">Student ID</th>
<th scope="col">Student Name</th>
<th scope="col">Gender</th>
</tr>
</thead>
<tbody>
<jsp:useBean id="studentAttendList" scope="request" class="java.util.ArrayList<system.bean.AttendBean>"/>
<%
for (AttendBean student : studentAttendList) {
out.print("<tr>");
out.print("<td>");
out.print("<input type='checkbox' name='attend' value='" + student.getStBean().getId() + "'");
if (student.isAttend()) {
out.print(" checked>");
} else {
out.print(" >");
}
out.print("</td>");
out.print("<td>" + student.getStBean().getId() + "</td>");
out.print("<td>" + student.getStBean().getName() + "</td>");
out.print("<td>" + student.getStBean().getGender() + "</td>");
out.print("</tr>");
}
%>
</tbody>
</table>
</div>
<button type="submit" class="btn btn-primary float-right">Save</button>
<br><br>
<input type="hidden" name="action" value="save">
<input type="hidden" name="class" id="attendDate" value="<%= request.getParameter("class")%>">
<input type="hidden" name="date" id="class" value=" <%= request.getParameter("date") == null ? formatter.format(date) : request.getParameter("date")%>">
</div>
</form>
</div>
</div>
</div>
</section>
<br><br>
<footer></footer>
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script src="../js/bootstrap-datepicker.min.js"></script>
<script>
$(document).ready(function () {
$('#datepicker').datepicker({
format: "yyyy-mm-dd",
daysOfWeekDisabled: "0,6",
daysOfWeekHighlighted: "1,2,3,4,5",
todayHighlight: true
});
});
</script>
</body>
</html>

View File

@@ -0,0 +1,140 @@
<%--
Document : dashboard
Created on : 2019/11/11, 下午 10:08:39
Author : JerryKwok
--%>
<%@page import="system.bean.SearchBean"%>
<%@page import="system.bean.LectureBean"%>
<%@page contentType="text/html" pageEncoding="UTF-8" import="system.bean.StudentBean, system.bean.ClassBean, system.bean.TeacherBean"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Admin Area | Dashboard</title>
<!-- Bootstrap core CSS -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
<link href="../css/bootstrap.css" rel="stylesheet">
<link href="../css/style.css" rel="stylesheet">
</head>
<body>
<jsp:include page="../header.jsp"></jsp:include>
<section id="main">
<div class="container">
<div class="row">
<div class="col-lg-3">
<%@taglib uri="/WEB-INF/tlds/nav-taglib.tld" prefix="nav" %>
<nav:showNav role="Admin" active="class" />
</div>
<div class="col-lg-9">
<!-- Website Overview -->
<div class="card">
<div class="card-header main-color-bg">
<h5 class="card-title">Class List</h5>
</div>
<div class="card-body">
<%
if (request.getAttribute("deleteMes") != null) {
out.print("<div class='alert alert-success alert-dismissible fade show formated-table' role='alert'>");
out.print("<strong>Class #" + request.getAttribute("deleteMes") + " Deleted </strong>");
out.print("<button type='button' class='close' data-dismiss='alert' aria-label='Close'>");
out.print("<span aria-hidden='true'>&times;</span></button></div>");
} else if (request.getAttribute("saveMes") != null) {
out.print("<div class='alert alert-success alert-dismissible fade show formated-table' role='alert'>");
out.print("<strong>Class #" + request.getAttribute("saveMes") + " Saved </strong>");
out.print("<button type='button' class='close' data-dismiss='alert' aria-label='Close'>");
out.print("<span aria-hidden='true'>&times;</span></button></div>");
} else if (request.getAttribute("addMes") != null) {
out.print("<div class='alert alert-success alert-dismissible fade show formated-table' role='alert'>");
out.print("<strong> Class Added</strong>");
out.print("<button type='button' class='close' data-dismiss='alert' aria-label='Close'>");
out.print("<span aria-hidden='true'>&times;</span></button></div>");
}
%>
<div class="format-table">
<form action="class" method="POST" class="format">
<button type="submit" class="btn btn-primary">Create Class</button>
<input type="hidden" name="action" value="addPage">
</form>
<form class="form-inline float-right" action="class" method="POST">
<div class="form-group mb-2">
<font>Search: </font>
</div>
<div class="form-group mx-sm-3 mb-2">
<label class="sr-only">Password</label>
<input list="searchlist" type="text" class="form-control" name="searchVal" id="searchVal" placeholder="Search...">
<datalist id="searchlist">
<jsp:useBean scope="request" id="searchList" class="java.util.ArrayList<system.bean.SearchBean>"/>
<%
for (SearchBean search : searchList) {
out.print("<option label='" + search.getKeyword() + "' value='" + search.getKeyword() + "' />");
}
%>
</datalist>
</div>
<button type="submit" class="btn btn-dark mb-2">Search</button>
<input type="hidden" name="action" value="search">
</form>
<div class="table-responsive">
<table class="table">
<thead class="thead-dark">
<tr>
<th>Class</th>
<th>Head Teacher</th>
<th>Year</th>
<th>Action</th>
</tr>
</thead>
<jsp:useBean id="classList" scope="request" class="java.util.ArrayList<system.bean.ClassBean>"/>
<%
for (ClassBean cl : classList) {
out.print("<tr>");
out.print("<td>" + cl.getClassName() + "</td>");
out.print("<td>" + cl.getTeacherBean().getTeacherFormalName() + "</td>");
out.print("<td>" + cl.getYear() + "</td>");
out.print("<td>");
out.print("<a href='class?id=" + cl.getId() + "'><button type='button' class='btn btn-info tableBtn'><i class='material-icons'>edit</i></button></a> ");
out.print("<a href='class?id=" + cl.getId() + "&action=delete'><button type='button' class='btn btn-danger tableBtn'><i class='material-icons'>delete</i></button></a>");
out.print("</td>");
}
if(request.getAttribute("search") == null){
out.print("</table>");
}else{
out.print("</table>");
out.print("<a href=\"class\"><button class=\"btn btn-secondary\">Show All</button></a>");
}
%>
</div>
</div>
</div>
</div>
<!-- Latest Users -->
</div>
</div>
</div>
</section>
<br><br>
<footer></footer>
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script>
$(document).ready(function () {
$('.alert').alert();
});
</script>
</body>
</html>

View File

@@ -0,0 +1,139 @@
<%--
Document : dashboard
Created on : 2019/11/11, 下午 10:08:39
Author : JerryKwok
--%>
<%@page import="system.bean.ClassYearBean"%>
<%@page import="system.bean.TeacherBean"%>
<%@page import="system.bean.LectureDayBean"%>
<%@page import="system.bean.LectureTimeBean"%>
<%@page contentType="text/html" pageEncoding="UTF-8" import="system.bean.StudentBean, system.bean.ClassBean, java.util.ArrayList"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Admin Area | Dashboard</title>
<!-- Bootstrap core CSS -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
<link href="../css/bootstrap.css" rel="stylesheet">
<link href="../css/style.css" rel="stylesheet">
</head>
<body>
<jsp:include page="../header.jsp"></jsp:include>
<section id="main">
<div class="container">
<div class="row">
<div class="col-lg-3">
<%@taglib uri="/WEB-INF/tlds/nav-taglib.tld" prefix="nav" %>
<nav:showNav role="Admin" active="class" />
</div>
<div class="col-lg-9">
<!-- Website Overview -->
<div class="card">
<div class="card-header main-color-bg">
<h5 class="card-title">Add Student Class</h5>
</div>
<div class="card-body">
<%
if (request.getAttribute("dupMes") != null) {
out.print("<div class='alert alert-danger alert-dismissible fade show' role='alert'>");
out.print("<strong>The Class Name is created</strong>");
out.print("<button type='button' class='close' data-dismiss='alert' aria-label='Close'>");
out.print("<span aria-hidden='true'>&times;</span></button></div>");
}
%>
<br>
<jsp:useBean id="classYearList" scope="request" class="ArrayList<system.bean.ClassYearBean>" />
<jsp:useBean id="teacherList" scope="request" class="ArrayList<system.bean.TeacherBean>" />
<form action="class" method="POST">
<table class="table">
<tr>
<th>Class Name</th>
<td><input type="text" name="class" class="form-control" value="<%= request.getAttribute("className") != null ? request.getAttribute("className") : ""%>" required></td>
</tr>
<tr>
<th>Teacher</th>
<td>
<select name="teacherId" class="form-control" required="">
<%
if (request.getAttribute("teacherId") != null) {
for (TeacherBean teacher : teacherList) {
if (teacher.getId().equals(request.getAttribute("teacherId"))) {
out.print("<option value='" + teacher.getId() + "' selected>" + teacher.getTeacherFormalName() + "</option>");
} else {
out.print("<option value='" + teacher.getId() + "'>" + teacher.getTeacherFormalName() + "</option>");
}
}
} else {
for (TeacherBean teacher : teacherList) {
out.print("<option value='" + teacher.getId() + "'>" + teacher.getTeacherFormalName() + "</option>");
}
}
%>
</select>
</td>
</tr>
<tr>
<th>Year</th>
<td>
<select name="yearId" class="form-control" required>
<%
if (request.getAttribute("yearId") != null) {
for (ClassYearBean year : classYearList) {
if (year.getId().equals(request.getAttribute("yearId"))) {
out.print("<option value='" + year.getId() + "' selected>" + year.getYear() + "</option>");
} else {
out.print("<option value='" + year.getId() + "'>" + year.getYear() + "</option>");
}
}
} else {
for (ClassYearBean year : classYearList) {
out.print("<option value='" + year.getId() + "'>" + year.getYear() + "</option>");
}
}
%>
</select>
</td>
</tr>
</table>
<button type="submit" class="btn btn-primary">Add Lecture</button>
<input type="hidden" name="action" value="add">
</form>
</div>
</div>
<a href="class">
<button class="btn btn-secondary">
Back
</button>
</a>
<!-- Latest Users -->
</div>
</div>
</div>
</section>
<br><br>
<footer></footer>
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script>
$(document).ready(function () {
$('.alert').alert();
});
</script>
</body>
</html>

View File

@@ -0,0 +1,149 @@
<%--
Document : dashboard
Created on : 2019/11/11, 下午 10:08:39
Author : JerryKwok
--%>
<%@page import="system.bean.ClassYearBean"%>
<%@page import="system.bean.TeacherBean"%>
<%@page import="system.bean.LectureDayBean"%>
<%@page import="system.bean.LectureTimeBean"%>
<%@page contentType="text/html" pageEncoding="UTF-8" import="system.bean.StudentBean, system.bean.ClassBean, java.util.ArrayList"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Admin Area | Dashboard</title>
<!-- Bootstrap core CSS -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
<link href="../css/bootstrap.css" rel="stylesheet">
<link href="../css/style.css" rel="stylesheet">
</head>
<body>
<jsp:include page="../header.jsp"></jsp:include>
<section id="main">
<div class="container">
<div class="row">
<div class="col-lg-3">
<%@taglib uri="/WEB-INF/tlds/nav-taglib.tld" prefix="nav" %>
<nav:showNav role="Admin" active="class" />
</div>
<div class="col-lg-9">
<!-- Website Overview -->
<div class="card">
<div class="card-header main-color-bg">
<h5 class="card-title">Edit Student Class</h5>
</div>
<div class="card-body">
<%
if (request.getAttribute("dupMes") != null) {
out.print("<div class='alert alert-danger alert-dismissible fade show' role='alert'>");
out.print("<strong>The Class Name is Created</strong>");
out.print("<button type='button' class='close' data-dismiss='alert' aria-label='Close'>");
out.print("<span aria-hidden='true'>&times;</span></button></div>");
}
%>
<br>
<jsp:useBean id="classBean" scope="request" class="system.bean.ClassBean" />
<jsp:useBean id="classYearList" scope="request" class="ArrayList<system.bean.ClassYearBean>" />
<jsp:useBean id="teacherList" scope="request" class="ArrayList<system.bean.TeacherBean>" />
<form action="class?id=<%= request.getParameter("id") %>" method="POST">
<table class="table">
<tr>
<th>Class Name</th>
<td><input type="text" name="class" class="form-control" value="<%= request.getAttribute("className") != null ? request.getAttribute("className") : classBean.getClassName()%>" required></td>
</tr>
<tr>
<th>Teacher</th>
<td>
<select name="teacherId" class="form-control" required="">
<%
if (request.getAttribute("teacherId") != null) {
for (TeacherBean teacher : teacherList) {
if (teacher.getId().equals(request.getAttribute("teacherId"))) {
out.print("<option value='" + teacher.getId() + "' selected>" + teacher.getTeacherFormalName() + "</option>");
} else {
out.print("<option value='" + teacher.getId() + "'>" + teacher.getTeacherFormalName() + "</option>");
}
}
} else {
out.print("<option value='" + classBean.getTeacherBean().getId() + "' selected>" + classBean.getTeacherBean().getTeacherFormalName() + "</option>");
for (TeacherBean teacher : teacherList) {
out.print("<option value='" + teacher.getId() + "'>" + teacher.getTeacherFormalName() + "</option>");
}
}
%>
</select>
</td>
</tr>
<tr>
<th>Year</th>
<td>
<select name="yearId" class="form-control" required>
<% if (request.getAttribute("yearId") != null) {
for (ClassYearBean year : classYearList) {
if (year.getId().equals(request.getAttribute("yearId"))) {
out.print("<option value='" + year.getId() + "' selected>" + year.getYear() + "</option>");
} else {
out.print("<option value='" + year.getId() + "'>" + year.getYear() + "</option>");
}
}
} else {
for (ClassYearBean year : classYearList) {
if (classBean.getYear().equals(year.getYear())) {
out.print("<option value='" + year.getId() + "' selected>" + year.getYear() + "</option>");
} else {
out.print("<option value='" + year.getId() + "'>" + year.getYear() + "</option>");
}
}
}
%>
</select>
</td>
</tr>
</table>
<button type="submit" class="btn btn-primary">Save Lecture</button>
<input type="hidden" name="action" value="save">
<input type="hidden" name="id" value="<%= request.getParameter("id")%>"
</form>
</div>
</div>
<a href="class">
<button class="btn btn-secondary">
Back
</button>
</a>
<!-- Latest Users -->
</div>
</div>
</div>
</section>
<br><br>
<footer></footer>
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script>
$(document).ready(function () {
$('.alert').alert();
});
</script>
</body>
</html>

View File

@@ -0,0 +1,155 @@
<%--
Document : dashboard
Created on : 2019/11/11, 下午 10:08:39
Author : JerryKwok
--%>
<%@page contentType="text/html" pageEncoding="UTF-8" import="system.bean.SearchBean, system.bean.StudentBean, system.bean.ClassBean, system.bean.TeacherBean"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Admin Area | Dashboard</title>
<!-- Bootstrap core CSS -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
<link href="../css/bootstrap.css" rel="stylesheet">
<link href="../css/style.css" rel="stylesheet">
</head>
<body>
<jsp:include page="../header.jsp"></jsp:include>
<section id="main">
<div class="container">
<div class="row">
<div class="col-lg-3">
<%@taglib uri="/WEB-INF/tlds/nav-taglib.tld" prefix="nav" %>
<nav:showNav role="Admin" active="ClassReg" />
</div>
<div class="col-lg-9">
<!-- Website Overview -->
<div class="card">
<div class="card-header main-color-bg">
<h5 class="card-title">Student Registered Class</h5>
</div>
<div class="card-body">
<%
if (request.getAttribute("deletenMes") != null) {
out.print("<div class='alert alert-success alert-dismissible fade show formated-table' role='alert'>");
out.print("<strong>Student #" + request.getAttribute("deletenMes") + " Class Deleted </strong>");
out.print("<button type='button' class='close' data-dismiss='alert' aria-label='Close'>");
out.print("<span aria-hidden='true'>&times;</span></button></div>");
} else if (request.getAttribute("saveMes") != null) {
out.print("<div class='alert alert-success alert-dismissible fade show formated-table' role='alert'>");
out.print("<strong>Student Class #" + request.getAttribute("saveMes") + " Saved </strong>");
out.print("<button type='button' class='close' data-dismiss='alert' aria-label='Close'>");
out.print("<span aria-hidden='true'>&times;</span></button></div>");
} else if (request.getAttribute("addMes") != null) {
out.print("<div class='alert alert-success alert-dismissible fade show formated-table' role='alert'>");
out.print("<strong> Added the student to Class #" + request.getAttribute("addMes") + "</strong>");
out.print("<button type='button' class='close' data-dismiss='alert' aria-label='Close'>");
out.print("<span aria-hidden='true'>&times;</span></button></div>");
}
%>
<div class="format-table">
<form action="classReg" method="POST" class="format">
<button type="submit" class="btn btn-primary">Add Student to Class</button>
<input type="hidden" name="action" value="addPage">
</form>
<button type="button" class="btn btn-info tableBtn" id="btnExportExcel"><i class="material-icons">save_alt</i></button>
<form class="form-inline float-right" action="classReg" method="POST">
<div class="form-group mb-2">
<font>Search: </font>
</div>
<div class="form-group mx-sm-3 mb-2">
<label class="sr-only">Password</label>
<input list="searchlist" type="text" class="form-control" name="searchVal" id="searchVal" placeholder="Search...">
<datalist id="searchlist">
<jsp:useBean scope="request" id="searchList" class="java.util.ArrayList<system.bean.SearchBean>"/>
<%
for (SearchBean search : searchList) {
out.print("<option label='" + search.getKeyword() + "' value='" + search.getKeyword() + "' />");
}
%>
</datalist>
</div>
<button type="submit" class="btn btn-dark mb-2">Search</button>
<input type="hidden" name="action" value="search">
</form>
<table class="table exportExcel">
<thead class="thead-dark">
<tr>
<th>ID</th>
<th>Student Name</th>
<th>Class</th>
<th>Head Teacher</th>
<th>Action</th>
</tr>
</thead>
<jsp:useBean id="studentClassList" scope="request" class="java.util.ArrayList<system.bean.StudentBean>"/>
<%
if (studentClassList.size() > 0) {
for (StudentBean student : studentClassList) {
out.print("<tr>");
out.print("<td><a href='user?role=Student&searchVal=" + student.getId() + "&action=search'>" + student.getId() + "</a></td>");
out.print("<td>" + student.getName() + "</td>");
out.print("<td>" + student.getClassName().getClassName() + "</td>");
out.print("<td><a href='user?role=Teacher&searchVal=" + student.getClassName().getTeacherBean().getId() + "&action=search'>" + student.getClassName().getTeacherBean().getTeacherFormalName() + "</a></td>");
out.print("<td>");
out.print("<a href='classReg?id=" + student.getStudentClassid() + "'><button type='button' class='btn btn-info tableBtn'><i class='material-icons'>edit</i></button></a> ");
out.print("<a href='classReg?id=" + student.getStudentClassid() + "&action=delete'><button type='button' class='btn btn-danger tableBtn'><i class='material-icons'>delete</i></button></a>");
out.print("</td>");
out.print("</tr>");
}
out.print("</table>");
if (request.getAttribute("searchHis") != null) {
out.print("<br><br><br><br><br>");
out.print("<a href='classReg'><button type='button' class='btn btn-secondary'>Show All</button></a>");
}
} else {
out.print("<tr>");
out.print("<td colspon=5>Not Match Result</td>");
out.print("</tr>");
out.print("</table>");
out.print("<br><br><br><br><br>");
out.print("<a href='classReg'><button type='button' class='btn btn-secondary'>Show All</button></a>");
}
%>
</div>
</div>
</div>
<!-- Latest Users -->
</div>
</div>
</div>
</section>
<br><br>
<footer></footer>
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="../js/jquery.tableToexcel.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script>
$(document).ready(function () {
$('.alert').alert();
$("#btnExportExcel").click(function () {
$(".exportExcel").table2excel({
exclude: ".excludeThisClass",
name: "Worksheet Name",
filename: "Class_Report.xls", // do include extension
preserveColors: false // set to true if you want background colors and font colors preserved
});
});
});
</script>
</body>
</html>

View File

@@ -0,0 +1,105 @@
<%--
Document : dashboard
Created on : 2019/11/11, 下午 10:08:39
Author : JerryKwok
--%>
<%@page contentType="text/html" pageEncoding="UTF-8" import="system.bean.StudentBean, system.bean.ClassBean, java.util.ArrayList"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Admin Area | Dashboard</title>
<!-- Bootstrap core CSS -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
<link href="../css/bootstrap.css" rel="stylesheet">
<link href="../css/style.css" rel="stylesheet">
</head>
<body>
<jsp:include page="../header.jsp"></jsp:include>
<section id="main">
<div class="container">
<div class="row">
<div class="col-lg-3">
<%@taglib uri="/WEB-INF/tlds/nav-taglib.tld" prefix="nav" %>
<nav:showNav role="Admin" active="ClassReg" />
</div>
<jsp:useBean id="studnetIdList" scope="request" class="ArrayList<system.bean.StudentBean>"/>
<div class="col-lg-9">
<!-- Website Overview -->
<div class="card">
<div class="card-header main-color-bg">
<h5 class="card-title">Add Student Class</h5>
</div>
<div class="card-body">
<%
if (request.getAttribute("studnetIdList") != null && studnetIdList.size() < 1) {
out.print("<div class='alert alert-danger alert-dismissible fade show' role='alert'>");
out.print("<strong>No student need to class sign up</strong>");
out.print("<button type='button' class='close' data-dismiss='alert' aria-label='Close'>");
out.print("<span aria-hidden='true'>&times;</span></button></div>");
}
%>
<br>
<jsp:useBean id="classList" scope="request" class="ArrayList<system.bean.ClassBean>"/>
<form action="classReg" method="POST">
<table class="table">
<tr>
<th>Student ID</th>
<td>
<select name="id">
<%
for (StudentBean stBean : studnetIdList) {
out.print("<option value='" + stBean.getId() + "'>" + stBean.getId() + "</option>");
}
%>
</select>
</td>
</tr>
<tr>
<th>Class</th>
<td>
<select name="className">
<%
for (ClassBean classBean : classList) {
out.print("<option value='" + classBean.getClassName() + "'>" + classBean.getClassName() + "</option>");
}
%>
</select>
</td>
</tr>
</table>
<button type="submit" class="btn btn-primary" <% if (studnetIdList.size() < 1) {
out.print("disabled");
}%>>Saved</button>
<input type="hidden" name="action" value="add">
</form>
</div>
</div>
<a href="classReg"><button type="button" class="btn btn-secondary">Back</button></a>
</div>
</div>
</div>
</section>
<br><br>
<footer></footer>
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script>
$(document).ready(function () {
$('.alert').alert();
});
</script>
</body>
</html>

View File

@@ -0,0 +1,105 @@
<%--
Document : dashboard
Created on : 2019/11/11, 下午 10:08:39
Author : JerryKwok
--%>
<%@page contentType="text/html" pageEncoding="UTF-8" import="system.bean.StudentBean, system.bean.ClassBean, java.util.ArrayList"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Admin Area | Dashboard</title>
<!-- Bootstrap core CSS -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
<link href="../css/bootstrap.css" rel="stylesheet">
<link href="../css/style.css" rel="stylesheet">
</head>
<body>
<jsp:include page="../header.jsp"></jsp:include>
<section id="main">
<div class="container">
<div class="row">
<div class="col-lg-3">
<%@taglib uri="/WEB-INF/tlds/nav-taglib.tld" prefix="nav" %>
<nav:showNav role="Admin" active="ClassReg" />
</div>
<div class="col-lg-9">
<!-- Website Overview -->
<div class="card">
<div class="card-header main-color-bg">
<h5 class="card-title">Edit Student Class</h5>
</div>
<div class="card-body">
<br>
<jsp:useBean id="studentDetials" scope="request" class="system.bean.StudentBean"/>
<jsp:useBean id="classList" scope="request" class="ArrayList<system.bean.ClassBean>"/>
<form action="classReg" method="POST">
<table class="table">
<tr>
<th>Student Class ID</th>
<td>${studentClassID}</td>
</tr>
<tr>
<th>Student Name</th>
<td><jsp:getProperty name="studenBean" property="name"/></td>
</tr>
<tr>
<th>Student ID</th>
<td><jsp:getProperty name="studenBean" property="id"/></td>
</tr>
<tr>
<th>Gender</th>
<td><jsp:getProperty name="studenBean" property="gender"/></td>
</tr>
<tr>
<th>Birthday</th>
<td><jsp:getProperty name="studenBean" property="birthday"/></td>
</tr>
<tr>
<th>Class</th>
<td>
<select name="className">
<%
for (ClassBean classBean : classList) {
out.print("<option value='" + classBean.getClassName() + "'>" + classBean.getClassName() + "</option>");
}
%>
</select>
</td>
</tr>
</table>
<button type="submit" class="btn btn-primary">Saved</button>
<input type="hidden" name="id" value="${studentClassID}">
<input type="hidden" name="action" value="save">
</form>
</div>
</div>
<!-- Latest Users -->
</div>
</div>
</div>
</section>
<br><br>
<footer></footer>
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script>
$(document).ready(function () {
$('.alert').alert();
});
</script>>
</body>
</html>

View File

@@ -0,0 +1,140 @@
<%--
Document : dashboard
Created on : 2019/11/11, 下午 10:08:39
Author : JerryKwok
--%>
<%@page contentType="text/html" pageEncoding="UTF-8" import="system.bean.StudentBean, system.bean.ClassBean, java.util.ArrayList"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Admin Area | Dashboard</title>
<!-- Bootstrap core CSS -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
<link href="../css/bootstrap.css" rel="stylesheet">
<link href="../css/style.css" rel="stylesheet">
</head>
<body>
<jsp:include page="../header.jsp"></jsp:include>
<section id="main">
<div class="container">
<div class="row">
<div class="col-lg-3">
<div class="list-group">
<a href="dashboard" class="list-group-item main-color-bg-nav">
<i class="material-icons">dashboard</i>
<span>Dashboard</span>
</a>
<a href="lecture" class="list-group-item main-color-bg-nav">
<i class="material-icons">view_module</i>
<span>Lecture</span>
</a>
<a href="class" class="list-group-item active">
<i class="material-icons">class</i><span> Class</span>
</a>
<a href="user?role=Student" class="list-group-item">
<i class="material-icons">library_books</i><span> Student</span>
</a>
<a href="user?role=Teacher" class="list-group-item">
<i class="material-icons">supervisor_account</i><span> Teacher</span>
</a>
<a href="user?role=Admin" class="list-group-item">
<i class="material-icons">vpn_key</i><span> Admin</span>
</a>
<a href="schedule" class="list-group-item">
<i class="material-icons">schedule</i><span> Schedule</span>
</a>
<a href="attendance" class="list-group-item">
<i class="material-icons">check_box</i
><span> Attendace</span>
</a>
<a href="report" class="list-group-item">
<i class="material-icons">insert_drive_file</i>
<span> Reports</span>
</a>
<a href="../login?action=logout" class="list-group-item text-right">
<span> Logout</span>
</a>
</div>
</div>
<div class="col-lg-9">
<!-- Website Overview -->
<div class="card">
<div class="card-header main-color-bg">
<h5 class="card-title">Edit Student Class</h5>
</div>
<div class="card-body">
<br>
<jsp:useBean id="studentDetials" scope="request" class="system.bean.StudentBean"/>
<jsp:useBean id="classList" scope="request" class="ArrayList<system.bean.ClassBean>"/>
<form action="class" method="POST">
<table class="table">
<tr>
<th>Student Class ID</th>
<td>${studentClassID}</td>
</tr>
<tr>
<th>Student Name</th>
<td><jsp:getProperty name="studenBean" property="name"/></td>
</tr>
<tr>
<th>Student ID</th>
<td><jsp:getProperty name="studenBean" property="id"/></td>
</tr>
<tr>
<th>Gender</th>
<td><jsp:getProperty name="studenBean" property="gender"/></td>
</tr>
<tr>
<th>Birthday</th>
<td><jsp:getProperty name="studenBean" property="birthday"/></td>
</tr>
<tr>
<th>Class</th>
<td>
<select name="className">
<%
for (ClassBean classBean : classList) {
out.print("<option value='" + classBean.getClassName() + "'>" + classBean.getClassName() + "</option>");
}
%>
</select>
</td>
</tr>
</table>
<button type="submit" class="btn btn-primary">Saved</button>
<input type="hidden" name="id" value="${studentClassID}">
<input type="hidden" name="action" value="save">
</form>
</div>
</div>
<!-- Latest Users -->
</div>
</div>
</div>
</section>
<br><br>
<footer></footer>
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script>
$(document).ready(function () {
$('.alert').alert();
});
</script>>
</body>
</html>

View File

@@ -0,0 +1,71 @@
<%--
Document : dashboard
Created on : 2019/11/11, 下午 10:08:39
Author : JerryKwok
--%>
<%@page contentType="text/html" pageEncoding="UTF-8" import="system.bean.LectureBean, system.bean.LectureDayBean, system.bean.LectureTimeBean"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Admin Area | Dashboard</title>
<!-- Bootstrap core CSS -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
<link href="../css/bootstrap.css" rel="stylesheet">
<link href="../css/style.css" rel="stylesheet">
</head>
<body>
<jsp:include page="../header.jsp"></jsp:include>
<section id="main">
<div class="container">
<div class="row">
<div class="col-lg-3">
<%@taglib uri="/WEB-INF/tlds/nav-taglib.tld" prefix="nav" %>
<nav:showNav role="Admin" active="dashboard" />
</div>
<div class="col-lg-9">
<!-- Website Overview -->
<div class="card">
<div class="card-header main-color-bg">
<h5 class="card-title">Overview</h5>
</div>
<div class="card-body">
<div class="row">
<div class="col-md-6 col-sm-12">
<div class="card bg-light card-body mb-3 dash-box">
<h2><i class="material-icons">library_books</i> ${courseCount}</h2>
<h4>Lecture</h4>
</div>
</div>
<div class="col-md-6 col-sm-12">
<div class="card bg-light card-body mb-3 dash-box">
<h2> <i class="material-icons">school</i> ${studentCount}</h2>
<h4>Student</h4>
</div>
</div>
</div>
</div>
</div>
<!-- Latest Users -->
</div>
</div>
</div>
</section>
<br><br>
<footer></footer>
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
</body>
</html>

View File

@@ -0,0 +1,147 @@
<%--
Document : dashboard
Created on : 2019/11/11, 下午 10:08:39
Author : JerryKwok
--%>
<%@page import="system.bean.SearchBean"%>
<%@page import="system.bean.LectureBean"%>
<%@page contentType="text/html" pageEncoding="UTF-8" import="system.bean.StudentBean, system.bean.ClassBean, system.bean.TeacherBean"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Admin Area | Dashboard</title>
<!-- Bootstrap core CSS -->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
<link href="../css/bootstrap.css" rel="stylesheet">
<link href="../css/style.css" rel="stylesheet">
</head>
<body>
<jsp:include page="../header.jsp"></jsp:include>
<section id="main">
<div class="container">
<div class="row">
<div class="col-lg-3">
<%@taglib uri="/WEB-INF/tlds/nav-taglib.tld" prefix="nav" %>
<nav:showNav role="Admin" active="lecture" />
</div>
<div class="col-lg-9">
<!-- Website Overview -->
<div class="card">
<div class="card-header main-color-bg">
<h5 class="card-title">Lecture</h5>
</div>
<div class="card-body">
<%
if (request.getAttribute("deleteMes") != null) {
out.print("<div class='alert alert-success alert-dismissible fade show formated-table' role='alert'>");
out.print("<strong>Lecture #" + request.getAttribute("deleteMes") + " Deleted </strong>");
out.print("<button type='button' class='close' data-dismiss='alert' aria-label='Close'>");
out.print("<span aria-hidden='true'>&times;</span></button></div>");
} else if (request.getAttribute("saveMes") != null) {
out.print("<div class='alert alert-success alert-dismissible fade show formated-table' role='alert'>");
out.print("<strong>Lecture #" + request.getAttribute("saveMes") + " Saved </strong>");
out.print("<button type='button' class='close' data-dismiss='alert' aria-label='Close'>");
out.print("<span aria-hidden='true'>&times;</span></button></div>");
} else if (request.getAttribute("addMes") != null) {
out.print("<div class='alert alert-success alert-dismissible fade show formated-table' role='alert'>");
out.print("<strong> Lecture Added</strong>");
out.print("<button type='button' class='close' data-dismiss='alert' aria-label='Close'>");
out.print("<span aria-hidden='true'>&times;</span></button></div>");
}
%>
<div class="format-table">
<form action="lecture" method="POST" class="format">
<button type="submit" class="btn btn-primary">Create Lecture</button>
<input type="hidden" name="action" value="addPage">
</form>
<form class="form-inline float-right" action="lecture" method="POST">
<div class="form-group mb-2">
<font>Search: </font>
</div>
<div class="form-group mx-sm-3 mb-2">
<label class="sr-only">Password</label>
<input list="searchlist" type="text" class="form-control" name="searchVal" id="searchVal" placeholder="Search...">
<datalist id="searchlist">
<jsp:useBean scope="request" id="searchList" class="java.util.ArrayList<system.bean.SearchBean>"/>
<%
for (SearchBean search : searchList) {
out.print("<option label='" + search.getKeyword() + "' value='" + search.getKeyword() + "' />");
}
%>
</datalist>
</div>
<button type="submit" class="btn btn-dark mb-2">Search</button>
<input type="hidden" name="action" value="search">
</form>
<div class="table-responsive">
<table class="table">
<thead class="thead-dark">
<tr>
<th>Lecture</th>
<th>Description</th>
<th>Time</th>
<th>Class</th>
<th>Day</th>
<th>Action</th>
</tr>
</thead>
<jsp:useBean id="lectureList" scope="request" class="java.util.ArrayList<system.bean.LectureBean>"/>
<% if (lectureList.size() == 0) {
out.print("<tr>");
out.print("<td colspon=5>Not Match Result</td>");
out.print("</tr>");
} else {
for (LectureBean lecture : lectureList) {
out.print("<tr>");
out.print("<td>" + lecture.getLecture() + "</td>");
out.print("<td>" + lecture.getDescription() + "</td>");
out.print("<td>" + lecture.getTime().getStartTime() + " - " + lecture.getTime().getEndTime() + "</td>");
out.print("<td>" + lecture.getClassName() + "</td>");
out.print("<td>" + lecture.getDay().getDay() + "</td>");
out.print("<td><a href='lecture?id=" + lecture.getId() + "'><button type='button' class='btn btn-info tableBtn'><i class='material-icons'>edit</i></button></a>");
out.print("<a href='lecture?id=" + lecture.getId() + "&action=delete'><button type='button' class='btn btn-danger tableBtn'><i class='material-icons'>delete</i></button></a>");
out.print("</td></tr>");
}
}
out.print("</table>");
if (lectureList.size() == 0) {
out.print("<br><br><br><br><br>");
out.print("<a href='lecture'><button type='button' class='btn btn-secondary'>Show All</button></a>");
}
%>
</table>
</div>
</div>
</div>
</div>
<!-- Latest Users -->
</div>
</div>
</div>
</section>
<br><br>
<footer></footer>
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.10.20/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.10.20/js/dataTables.bootstrap4.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script>
$(document).ready(function () {
$('.alert').alert();
});
</script>
</body>
</html>

View File

@@ -0,0 +1,193 @@
<%--
Document : dashboard
Created on : 2019/11/11, 下午 10:08:39
Author : JerryKwok
--%>
<%@page import="system.bean.TeacherBean"%>
<%@page import="system.bean.LectureDayBean"%>
<%@page import="system.bean.LectureTimeBean"%>
<%@page contentType="text/html" pageEncoding="UTF-8" import="system.bean.StudentBean, system.bean.ClassBean, java.util.ArrayList"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Admin Area | Dashboard</title>
<!-- Bootstrap core CSS -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
<link href="../css/bootstrap.css" rel="stylesheet">
<link href="../css/style.css" rel="stylesheet">
</head>
<body>
<jsp:include page="../header.jsp"></jsp:include>
<section id="main">
<div class="container">
<div class="row">
<div class="col-lg-3">
<%@taglib uri="/WEB-INF/tlds/nav-taglib.tld" prefix="nav" %>
<nav:showNav role="Admin" active="lecture" />
</div>
<div class="col-lg-9">
<!-- Website Overview -->
<div class="card">
<div class="card-header main-color-bg">
<h5 class="card-title">Edit Student Class</h5>
</div>
<div class="card-body">
<%
if (request.getAttribute("dupMes") != null) {
out.print("<div class='alert alert-danger alert-dismissible fade show' role='alert'>");
out.print("<strong>Teacher must attend other class</strong>");
out.print("<button type='button' class='close' data-dismiss='alert' aria-label='Close'>");
out.print("<span aria-hidden='true'>&times;</span></button></div>");
}
%>
<br>
<jsp:useBean id="classList" scope="request" class="ArrayList<system.bean.ClassBean>"/>
<jsp:useBean id="dayList" scope="request" class="ArrayList<system.bean.LectureDayBean>"/>
<jsp:useBean id="timeList" scope="request" class="ArrayList<system.bean.LectureTimeBean>" />
<jsp:useBean id="teacherList" scope="request" class="ArrayList<system.bean.TeacherBean>" />
<form action="lecture" method="POST">
<table class="table">
<tr>
<th>Lecture ID</th>
<td>The Lecutre ID will Auto generate</td>
</tr>
<tr>
<th>Lecture</th>
<td><input type="text" name="lecture" class="form-control" value="<%= request.getAttribute("lecture") != null ? request.getAttribute("lecture") : ""%>" required></td>
</tr>
<tr>
<th>Description</th>
<td><textarea class="form-control" name="description"><%= request.getAttribute("description") != null ? request.getAttribute("description") : ""%></textarea></td>
</tr>
<tr>
<th>Class</th>
<td>
<select name="className" required>
<%
if (request.getAttribute("className") != null) {
for (ClassBean className : classList) {
if (className.getId().equals(request.getAttribute("className"))) {
out.print("<option value='" + className.getId() + "' selected>" + className.getClassName() + "</option>");
} else {
out.print("<option value='" + className.getId() + "'>" + className.getClassName() + "</option>");
}
}
} else {
for (ClassBean className : classList) {
out.print("<option value='" + className.getId() + "'>" + className.getClassName() + "</option>");
}
}
%>
</select>
</td>
</tr>
<tr>
<th>Time</th>
<td>
<select name="time" required>
<% if (request.getAttribute("time") != null) {
for (LectureTimeBean time : timeList) {
if (time.getId().equals(request.getAttribute("time"))) {
out.print("<option value='" + time.getId() + "' selected>" + time.getStartTime() + "-" + time.getEndTime() + "</option>");
} else {
out.print("<option value='" + time.getId() + "'>" + time.getStartTime() + "-" + time.getEndTime() + "</option>");
}
}
} else {
for (LectureTimeBean time : timeList) {
out.print("<option value='" + time.getId() + "'>" + time.getStartTime() + "-" + time.getEndTime() + "</option>");
}
}
%>
</select>
</td>
</tr>
<tr>
<th>Day</th>
<td>
<select name="day" required>
<% if (request.getAttribute("day") != null) {
for (LectureDayBean day : dayList) {
if (day.getId().equals(request.getAttribute("day"))) {
out.print("<option value='" + day.getId() + "' selected>" + day.getDay() + "</option>");
} else {
out.print("<option value='" + day.getId() + "'>" + day.getDay() + "</option>");
}
}
} else {
for (LectureDayBean day : dayList) {
out.print("<option value='" + day.getId() + "'>" + day.getDay() + "</option>");
}
}
%>
</select>
</td>
</tr>
<tr>
<th>Teacher</th>
<td>
<select name="teacher" required>
<%
out.print("<option value=''> </option>");
if (request.getAttribute("teacher") != null) {
for (TeacherBean teacher : teacherList) {
if (teacher.getId().equals(request.getAttribute("teacher"))) {
out.print("<option value='" + teacher.getId() + "' selected>" + teacher.getTeacherFormalName() + "</option>");
} else {
out.print("<option value='" + teacher.getId() + "'>" + teacher.getTeacherFormalName() + "</option>");
}
}
} else {
for (TeacherBean teacher : teacherList) {
out.print("<option value='" + teacher.getId() + "'>" + teacher.getTeacherFormalName() + "</option>");
}
}
%>
</select>
</td>
</tr>
</table>
<button type="submit" class="btn btn-primary">Add Lecture</button>
<input type="hidden" name="action" value="add">
</form>
</div>
</div>
<a href="lecture">
<button type="lecture" class="btn btn-secondary">
Back
</button>
</a>
<!-- Latest Users -->
</div>
</div>
</div>
</section>
<br><br>
<footer></footer>
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script>
$(document).ready(function () {
$('.alert').alert();
});
</script>
</body>
</html>

View File

@@ -0,0 +1,211 @@
<%--
Document : dashboard
Created on : 2019/11/11, 下午 10:08:39
Author : JerryKwok
--%>
<%@page import="system.bean.TeacherBean"%>
<%@page import="system.bean.LectureDayBean"%>
<%@page import="system.bean.LectureTimeBean"%>
<%@page contentType="text/html" pageEncoding="UTF-8" import="system.bean.StudentBean, system.bean.ClassBean, java.util.ArrayList"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Admin Area | Dashboard</title>
<!-- Bootstrap core CSS -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
<link href="../css/bootstrap.css" rel="stylesheet">
<link href="../css/style.css" rel="stylesheet">
</head>
<body>
<jsp:include page="../header.jsp"></jsp:include>
<section id="main">
<div class="container">
<div class="row">
<div class="col-lg-3">
<%@taglib uri="/WEB-INF/tlds/nav-taglib.tld" prefix="nav" %>
<nav:showNav role="Admin" active="lecture" />
</div>
<div class="col-lg-9">
<!-- Website Overview -->
<div class="card">
<div class="card-header main-color-bg">
<h5 class="card-title">Edit Student Class</h5>
</div>
<div class="card-body">
<%
if (request.getAttribute("dupMes") != null) {
out.print("<div class='alert alert-danger alert-dismissible fade show' role='alert'>");
out.print("<strong>Teacher must attend other class</strong>");
out.print("<button type='button' class='close' data-dismiss='alert' aria-label='Close'>");
out.print("<span aria-hidden='true'>&times;</span></button></div>");
}
%>
<br>
<jsp:useBean id="lectureBean" scope="request" class="system.bean.LectureBean"/>
<jsp:useBean id="classList" scope="request" class="ArrayList<system.bean.ClassBean>"/>
<jsp:useBean id="dayList" scope="request" class="ArrayList<system.bean.LectureDayBean>"/>
<jsp:useBean id="timeList" scope="request" class="ArrayList<system.bean.LectureTimeBean>" />
<jsp:useBean id="teacherList" scope="request" class="ArrayList<system.bean.TeacherBean>" />
<form action="lecture?id=<%= request.getParameter("id")%>" method="POST">
<table class="table">
<tr>
<th>Lecture ID</th>
<td>${lectureId}</td>
</tr>
<tr>
<th>Lecture</th>
<td><input type="text" name="lecture" class="form-control" value="<%= request.getAttribute("lecture") != null ? request.getAttribute("lecture") : lectureBean.getLecture()%>" required></td>
</tr>
<tr>
<th>Description</th>
<td><textarea class="form-control" name="description"><%= request.getAttribute("description") != null ? request.getAttribute("description") : lectureBean.getDescription()%></textarea></td>
</tr>
<tr>
<th>Class</th>
<td>
<select name="className" required>
<%
if (request.getAttribute("className") != null) {
for (ClassBean className : classList) {
if (className.getId().equals(request.getAttribute("className"))) {
out.print("<option value='" + className.getId() + "' selected>" + className.getClassName() + "</option>");
} else {
out.print("<option value='" + className.getId() + "'>" + className.getClassName() + "</option>");
}
}
} else {
for (ClassBean className : classList) {
if (className.getClassName().equals(lectureBean.getClassName())) {
out.print("<option value='" + className.getId() + "' selected>" + className.getClassName() + "</option>");
} else {
out.print("<option value='" + className.getId() + "'>" + className.getClassName() + "</option>");
}
}
}
%>
</select>
</td>
</tr>
<tr>
<th>Time</th>
<td>
<select name="time" required>
<%
if (request.getAttribute("time") != null) {
for (LectureTimeBean time : timeList) {
if (time.getId().equals(request.getAttribute("time"))) {
out.print("<option value='" + time.getId() + "' selected>" + time.getStartTime() + "-" + time.getEndTime() + "</option>");
} else {
out.print("<option value='" + time.getId() + "'>" + time.getStartTime() + "-" + time.getEndTime() + "</option>");
}
}
} else {
for (LectureTimeBean time : timeList) {
if (time.getStartTime().equals(lectureBean.getTime().getStartTime()) && time.getEndTime().equals(lectureBean.getTime().getEndTime())) {
out.print("<option value='" + time.getId() + "' selected>" + time.getStartTime() + "-" + time.getEndTime() + "</option>");
} else {
out.print("<option value='" + time.getId() + "'>" + time.getStartTime() + "-" + time.getEndTime() + "</option>");
}
}
}
%>
</select>
</td>
</tr>
<tr>
<th>Day</th>
<td>
<select name="day" required>
<%
if (request.getAttribute("day") != null) {
for (LectureDayBean day : dayList) {
if (day.getId().equals(request.getAttribute("day"))) {
out.print("<option value='" + day.getId() + "' selected>" + day.getDay() + "</option>");
} else {
out.print("<option value='" + day.getId() + "'>" + day.getDay() + "</option>");
}
}
} else {
for (LectureDayBean day : dayList) {
if (day.getDay().equals(lectureBean.getDay().getDay())) {
out.print("<option value='" + day.getId() + "' selected>" + day.getDay() + "</option>");
} else {
out.print("<option value='" + day.getId() + "'>" + day.getDay() + "</option>");
}
}
}
%>
</select>
</td>
</tr>
<tr>
<th>Teacher</th>
<td>
<select name="teacher" >
<%
out.print("<option value=''> </option>");
if (request.getAttribute("teacher") != null) {
for (TeacherBean teacher : teacherList) {
if (teacher.getId().equals(request.getAttribute("teacher"))) {
out.print("<option value='" + teacher.getId() + "' selected>" + teacher.getTeacherFormalName() + "</option>");
} else {
out.print("<option value='" + teacher.getId() + "'>" + teacher.getTeacherFormalName() + "</option>");
}
}
} else {
for (TeacherBean teacher : teacherList) {
if (teacher.getId().equals(lectureBean.getTeacherId())) {
out.print("<option value='" + teacher.getId() + "' selected>" + teacher.getTeacherFormalName() + "</option>");
} else {
out.print("<option value='" + teacher.getId() + "'>" + teacher.getTeacherFormalName() + "</option>");
}
}
}
%>
</select>
</td>
</tr>
</table>
<button type="submit" class="btn btn-primary">Saved</button>
<input type="hidden" name="id" value="${lectureId}">
<input type="hidden" name="action" value="save">
</form>
</div>
</div>
<a href="lecture">
<button type="lecture" class="btn btn-secondary">
Back
</button>
</a>
<!-- Latest Users -->
</div>
</div>
</div>
</section>
<br><br>
<footer></footer>
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script>
$(document).ready(function () {
$('.alert').alert();
});
</script>
</body>
</html>

View File

@@ -0,0 +1,81 @@
<%--
Document : dashboard
Created on : 2019/11/11, 下午 10:08:39
Author : JerryKwok
--%>
<%@page contentType="text/html" pageEncoding="UTF-8" import="system.bean.ClassBean"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Admin Area | Dashboard</title>
<!-- Bootstrap core CSS -->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
<link href="../css/bootstrap.css" rel="stylesheet">
<link href="../css/style.css" rel="stylesheet">
</head>
<body>
<jsp:include page="../header.jsp"></jsp:include>
<section id="main">
<div class="container">
<div class="row">
<div class="col-lg-3">
<%@taglib uri="/WEB-INF/tlds/nav-taglib.tld" prefix="nav" %>
<nav:showNav role="Admin" active="report" />
</div>
<div class="col-lg-9">
<!-- Website Overview -->
<div class="card">
<div class="card-header main-color-bg">
<h5 class="card-title">Select Class to Generate Report </h5>
</div>
<div class="card-body">
<table class="table table-hover">
<thead>
<tr>
<th scope="col">Class</th>
<th scope="col"> </th>
<th scope="col">Head</th>
</tr>
</thead>
<tbody>
<jsp:useBean id="classList" scope="request" class="java.util.ArrayList<system.bean.ClassBean>"/>
<%
for (ClassBean classVal : classList) {
out.print("<tr data-href=\"report?class=" + classVal.getClassName() + "\">");
out.print("<td colspan=2>" + classVal.getClassName() + "</td>");
out.print("<td>" + classVal.getTeacherBean().getTeacherFormalName() + "</td>");
out.print("</tr>");
}
%>
</tbody>
</table>
</div>
</div>
</div>
</div>
</section>
<br>
<footer></footer>
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script>
$(document).ready(function () {
$("tr[data-href]").click(function () {
window.location.href = $(this).attr("data-href");
})
});
</script>
</body>
</html>

View File

@@ -0,0 +1,257 @@
<%--
Document : dashboard
Created on : 2019/11/11, 下午 10:08:39
Author : JerryKwok
--%>
<%@page import="java.util.Calendar"%>
<%@page contentType="text/html" pageEncoding="UTF-8" import="system.bean.ClassBean, system.bean.SemesterBean, system.bean.StudentBean"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Admin Area | Dashboard</title>
<!-- Bootstrap core CSS -->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
<link href="../css/bootstrap.css" rel="stylesheet">
<link href="../css/style.css" rel="stylesheet">
</head>
<%
String urlStudent = "report?";
if (request.getParameter("class") != null) {
urlStudent += "class=" + request.getParameter("class") + "&";
}
if (request.getParameter("year") != null) {
urlStudent += "year=" + request.getParameter("year") + "&";
} else {
urlStudent += "year=" + Calendar.getInstance().get(Calendar.YEAR) + "&";
}
if (request.getParameter("term") != null) {
urlStudent += "term=" + request.getParameter("term") + "&";
} else {
urlStudent += "term=1&";
}
%>
<body>
<jsp:include page="../header.jsp"></jsp:include>
<section id="main">
<div class="container">
<div class="row">
<div class="col-lg-3">
<%@taglib uri="/WEB-INF/tlds/nav-taglib.tld" prefix="nav" %>
<nav:showNav role="Admin" active="report" />
</div>
<div class="col-lg-9">
<div class="card">
<div class="card-header main-color-bg">
<h5 class="card-title">Select Class to Generate Report</h5>
</div>
<form action="report" method="GET">
<div class="card-body">
<div class="form-group">
<label>Class</label>
<select class="form-control" name="class">
<jsp:useBean id="classList" scope="request" class="java.util.ArrayList<system.bean.ClassBean>"/>
<% for (ClassBean classVal : classList) {
if (request.getParameter("class").equals(classVal.getClassName())) {
out.print("<option value='" + classVal.getClassName() + "' selected>" + classVal.getClassName() + "</option>");
} else {
out.print("<option value='" + classVal.getClassName() + "'>" + classVal.getClassName() + "</option>");
}
}
%>
</select>
</div>
<div class="form-group">
<label>Year</label>
<select class="form-control" name="year">
<jsp:useBean id="yearList" scope="request" class="java.util.ArrayList<system.bean.SemesterBean>"/>
<%
int counter = 1;
for (SemesterBean year : yearList) {
if (counter == 1) {
out.print("<option value='" + year.getYear() + "' selected>" + year.getYear() + "</option>");
} else {
out.print("<option value='" + year.getYear() + "'>" + year.getYear() + "</option>");
}
counter++;
}
%>
</select>
</div>
<div class="form-group">
<label>Term</label>
<select class="form-control" name="term">
<jsp:useBean id="termList" scope="request" class="java.util.ArrayList<system.bean.SemesterBean>"/>
<%
int count = 1;
for (SemesterBean term : termList) {
if (count == 1) {
out.print("<option value='" + term.getTerm() + "' selected>" + term.getTerm() + " term</option>");
} else {
out.print("<option value='" + term.getTerm() + "'>" + term.getTerm() + " term</option>");
}
count++;
}
%>
</select>
</div>
<br>
<input type="hidden" name="report" id="report" value="">
<button type="button" id="btnGenReport" class="btn btn-primary right">Generate</button>
<button type="button" id="btnGenLowReport" class="btn btn-danger">Generate Low Attendance</button>
</div>
</form>
</div>
<div class="card">
<div class="card-header main-color-bg">
<h5 class="card-title"> Report </h5>
</div>
<div class="card-body">
<canvas id="reportChart" width="50px"></canvas>
Average Attendance (%): ${attendAVG}
</div>
</div>
<!-- Website Overview -->
<div class="card">
<div class="card-body">
<button type="button" id="btnExportExcel" class="btn btn-outline-info">Export Attendance Data to Excel</button>
<br><br>
<div class="form-group">
<table class="table table-hover exportExcel">
<thead>
<tr>
<th scope="col">Student ID</th>
<th scope="col">Student Name</th>
<th scope="col">Attend Rate</th>
</tr>
</thead>
<tbody>
<jsp:useBean id="studentAttendList" scope="request" class="java.util.ArrayList<system.bean.StudentBean>"/>
<%
for (StudentBean student : studentAttendList) {
out.print("<tr data-href='" + urlStudent + "studentId=" + student.getId() + "'>");
out.print("<td>" + student.getId() + "</td>");
out.print("<td>" + student.getName() + "</td>");
out.print("<td>" + student.getAttendRate() + " %</td>");
out.print("</tr>");
}
%>
</tbody>
</table>
</div>
</div>
</div>
<a href="report">
<button type="button" class="btn btn-secondary">
Back
</button>
</a>
</div>
</div>
</section>
<footer></footer>
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.6.0/Chart.min.js"></script>
<script src="../js/jquery.tableToexcel.js"></script>
<script src="js/bootstrap.min.js"></script>
<script>
$(document).ready(function () {
$("tr[data-href]").click(function () {
window.location.href = $(this).attr("data-href");
});
$("#btnGenReport").click(function(){
$("form").submit();
});
$("#btnGenLowReport").click(function(){
$("#report").val("low");
$("form").submit();
});
$("#btnExportExcel").click(function () {
$(".exportExcel").table2excel({
exclude: ".excludeThisClass",
name: "Worksheet Name",
filename: "<%= request.getParameter("studentId") + "_Report"%>.xls", // do include extension
preserveColors: false // set to true if you want background colors and font colors preserved
});
});
});
</script>
<script>
let reportChart = document.getElementById('reportChart').getContext('2d');
Chart.defaults.global.defaultFontFamily = 'Lato';
Chart.defaults.global.defaultFontSize = 18;
Chart.defaults.global.defaultFontColor = 'black';
let massPopChart = new Chart(reportChart, {
type: 'pie', // bar, horizontalBar, pie, line, doughnut, radar, polarArea
data: {
<%
if(request.getParameter("report") != null && request.getParameter("report").equals("low"))
out.print("labels: ['Student < 39%','Student 40-49%', 'Student 50-60%']");
else
out.print("labels: ['Student < 60%', 'Student >=60%']");
%>,
datasets: [{
label: 'Population',
data: [
<%
if(request.getParameter("report") != null && request.getParameter("report").equals("low"))
out.print(request.getAttribute("numberOfStudentLowAtt") + ", " + request.getAttribute("numberOfStudentDanger") + ", " + request.getAttribute("numberOfStudentWarning"));
else
out.print(request.getAttribute("numberOfStudentNotMeetTar") + ", " + request.getAttribute("numberOfStudentMeetTar"));
%>
],
//backgroundColor:'green',
backgroundColor: [
'rgba(236, 107, 86, 0.6)',
'rgba(71, 179, 156, 0.9)',
'rgba(88,80,141,0.8)'
],
borderWidth: 1,
borderColor: '#777',
hoverBorderWidth: 3,
hoverBorderColor: '#000'
}]
},
options: {
title: {
display: true,
text: 'Meet the Attendance Target',
fontSize: 20
},
legend: {
display: true,
position: 'right',
labels: {
fontColor: '#000'
}
},
layout: {
padding: {
left: 30,
right: 0,
bottom: 0,
top: 0
}
},
tooltips: {
enabled: true
}
}
});
</script>
</body>
</html>

View File

@@ -0,0 +1,191 @@
<%@page contentType="text/html" pageEncoding="UTF-8" import="system.bean.AttendBean, system.bean.StudentBean"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Admin Area | Dashboard</title>
<!-- Bootstrap core CSS -->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
<link href="../css/bootstrap.css" rel="stylesheet">
<link href="../css/style.css" rel="stylesheet">
</head>
<body>
<jsp:include page="../header.jsp"></jsp:include>
<section id="main">
<div class="container">
<div class="row">
<div class="col-lg-3">
<%@taglib uri="/WEB-INF/tlds/nav-taglib.tld" prefix="nav" %>
<nav:showNav role="Admin" active="report" />
</div>
<div class="col-lg-9">
<!-- Website Overview -->
<!-- Latest Users -->
<div class="card">
<div class="card-header main-color-bg">
<h5 class="card-title">Student Report</h5>
</div>
<div class="card-body">
<button type="button" id="btnExportExcel" class="btn btn-outline-info">Export Attendance Data to Excel</button>
<br><br>
<jsp:useBean id="studentDetials" scope="request" class="system.bean.StudentBean"/>
<table class="table table-borderless">
<tbody>
<tr>
<th scope="row">Student ID:</th>
<td><jsp:getProperty name="studentDetials" property="id"/></td>
</tr>
<tr>
<th scope="row">Student Name:</th>
<td><jsp:getProperty name="studentDetials" property="name"/></td>
</tr>
<tr>
<th scope="row">Gender :</th>
<td><jsp:getProperty name="studentDetials" property="gender"/></td>
</tr>
<tr>
<th scope="row">Student Email:</th>
<td><jsp:getProperty name="studentDetials" property="email"/></td>
</tr>
<tr>
<th scope="row">Birthday:</th>
<td><jsp:getProperty name="studentDetials" property="birthday"/></td>
</tr>
</tbody>
</table>
<div class="card">
<div class="card-body">
<canvas id="reportChart" width="50px"></canvas>
<table>
<tr>
<td>Total Present Day: </td>
<td> ${totalAttendDay}</td>
</tr>
<tr>
<td>Present Day: </td>
<td> ${presentDay}</td>
</tr>
<tr>
<td>Absent: </td>
<td> ${absDay}</td>
</tr>
</table>
</div>
</div>
<table class="table table-hover exportExcel">
<thead class="thead-dark">
<tr>
<th>ID</th>
<th>Date</th>
<th>Attend</th>
</tr>
</thead>
<%
int id = 1;
for (AttendBean attend : studentDetials.getAttendList()) {
out.print("<tr>");
out.print("<td>" + (id++) + "</td>");
out.print("<td>" + attend.getDate() + "</td>");
if (attend.isAttend()) {
out.print("<td><a href='#' class='badge badge-success'>Present</a></td>");
} else {
out.print("<td><a href='#' class='badge badge-danger'>Absent</a></td>");
}
out.print("</tr>");
}
%>
</table>
</div>
</div>
<a href="report?class=<%= request.getParameter("class")%>&year=<%= request.getParameter("year")%>&term=<%= request.getParameter("term")%>">
<button type="button" class="btn btn-secondary">
Back
</button>
</a>
</div>
</div>
</div>
</section>
<br><br>
<footer></footer>
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.6.0/Chart.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script src="../js/jquery.tableToexcel.js"></script>
<script>
$(document).ready(function () {
$("#btnExportExcel").click(function () {
$(".exportExcel").table2excel({
exclude: ".excludeThisClass",
name: "Worksheet Name",
filename: "<%= request.getParameter("studentId") + "_Report"%>.xls", // do include extension
preserveColors: false // set to true if you want background colors and font colors preserved
});
});
});
let reportChart = document.getElementById('reportChart').getContext('2d');
Chart.defaults.global.defaultFontFamily = 'Lato';
Chart.defaults.global.defaultFontSize = 18;
Chart.defaults.global.defaultFontColor = 'black';
let massPopChart = new Chart(reportChart, {
type: 'pie', // bar, horizontalBar, pie, line, doughnut, radar, polarArea
data: {
labels: ['Present(%)', 'Absent(%)'],
datasets: [{
label: false,
data: [
Math.round(${presentDay/totalAttendDay*100}),
Math.round(${absDay/totalAttendDay*100})
],
//backgroundColor:'green',
backgroundColor: [
'rgba(71, 179, 156, 0.9)',
'rgba(236, 107, 86, 0.6)'
],
borderWidth: 1,
borderColor: '#777',
hoverBorderWidth: 3,
hoverBorderColor: '#000'
}]
},
options: {
title: {
display: true,
text: 'Attendance',
fontSize: 20
},
legend: {
display: true,
position: 'right',
labels: {
fontColor: '#000'
}
},
layout: {
padding: {
left: 20,
right: 0,
bottom: 0,
top: 0
}
},
tooltips: {
enabled: true
}
}
});
</script>
</body>
</html>

View File

@@ -0,0 +1,95 @@
<%--
Document : dashboard
Created on : 2019/11/11, 下午 10:08:39
Author : JerryKwok
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="system.bean.ClassBean, java.util.ArrayList"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Admin Area | Dashboard</title>
<!-- Bootstrap core CSS -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
<link href="../css/bootstrap.css" rel="stylesheet">
<link href="../css/style.css" rel="stylesheet">
</head>
<body>
<jsp:include page="../header.jsp"></jsp:include>
<section id="main">
<div class="container">
<div class="row">
<div class="col-lg-3">
<%@taglib uri="/WEB-INF/tlds/nav-taglib.tld" prefix="nav" %>
<nav:showNav role="Admin" active="Schdeule" />
</div>
<div class="col-lg-9">
<!-- Main -->
<div class="card">
<div class="card-header main-color-bg">
<h5 class="card-title">Schedule</h5>
</div>
<div class="card-body">
<table class="table table-hover">
<thead>
<tr>
<th scope="col">Schedule</th>
</tr>
</thead>
<tr data-href="schedule?class=schoolDay">
<td colspon="3">School Day Schedule</td>
</tr>
</table>
<br><br>
<table class="table table-hover">
<thead>
<tr>
<th scope="col">Class</th>
<th scope="col"> </th>
<th scope="col">Head</th>
</tr>
</thead>
<tbody>
<jsp:useBean id="classList" scope="request" class="java.util.ArrayList<system.bean.ClassBean>"/>
<%
for (ClassBean classVal : classList) {
out.print("<tr data-href=\"schedule?class=" + classVal.getId()+ "\">");
out.print("<td colspan=2>" + classVal.getClassName() + "</td>");
out.print("<td>" + classVal.getTeacherBean().getTeacherFormalName() + "</td>");
out.print("</tr>");
}
%>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</section>
<br><br>
<footer></footer>
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script>
$(document).ready(function () {
$("tr[data-href]").click(function () {
window.location.href = $(this).attr("data-href");
})
});
</script>
</body>
</html>

View File

@@ -0,0 +1,123 @@
<%--
Document : dashboard
Created on : 2019/11/11, 下午 10:08:39
Author : JerryKwok
--%>
<%@page contentType="text/html" pageEncoding="UTF-8" import="system.bean.LectureBean, system.bean.LectureDayBean, system.bean.LectureTimeBean"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Admin Area | Dashboard</title>
<!-- Bootstrap core CSS -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
<link href="../css/bootstrap.css" rel="stylesheet">
<link href="../css/style.css" rel="stylesheet">
</head>
<body>
<jsp:include page="../header.jsp"></jsp:include>
<section id="main">
<div class="container">
<div class="row">
<div class="col-lg-3">
<%@taglib uri="/WEB-INF/tlds/nav-taglib.tld" prefix="nav" %>
<nav:showNav role="Admin" active="Schdeule" />
</div>
<div class="col-lg-9">
<!-- Latest Users -->
<div class="card">
<div class="card-header main-color-bg">
<h5 class="card-title">Schedule</h5>
</div>
<div class="card-body">
<jsp:useBean id="dayList" scope="request" class="java.util.ArrayList<system.bean.LectureDayBean>"/>
<jsp:useBean id="timeList" scope="request" class="java.util.ArrayList<system.bean.LectureTimeBean>"/>
<jsp:useBean id="lectureList" scope="request" class="java.util.ArrayList<system.bean.LectureBean>"/>
<table class="table table-bordered table-hover text-center">
<%
out.print("<tr>");
out.print("<th> Time </th>");
for (LectureDayBean day : dayList) {
out.print("<th>DAY " + day.getDay() + "</th>");
}
String[] schoolDays = {"A", "B", "C", "D", "E", "F"};
out.print("</tr>");
int countDay = dayList.size();
for (LectureTimeBean time : timeList) {
out.print("<tr>");
out.print("<td>" + time.getStartTime() + "-" + time.getEndTime());
int count = 0;
int countPrint = 0;
loopout:
for (String schoolDay : schoolDays) {
boolean printed = false;
System.out.println("TEST---" + schoolDay);
for (LectureBean lecture : lectureList) {
if (lecture.getTime().getStartTime().equals(time.getStartTime()) && lecture.getTime().getEndTime().equals(time.getEndTime())) {
if (lecture.getTime().isFullweek()) {
System.out.println("FullWEEK");
out.print("<td colspan='" + dayList.size() + "'>" + lecture.getLecture() + "</td>");
break loopout;
} else {
System.out.println("Lecture---" + lecture.getDay().getDay());
if (schoolDay.equalsIgnoreCase(lecture.getDay().getDay())) {
System.out.println("printed");
out.print("<td>" + lecture.getLecture() + "</td>");
printed = true;
countPrint++;
}
}
}
count++;
}
if (!printed) {
System.out.println("NOTPrintandPrintTDTD");
out.print("<td></td>");
}
if (lectureList.size() == 0) {
for (int i = dayList.size(); i > 0; i--) {
out.print("<td></td>");
}
}
}
out.print("</tr>");
}
%>
</table>
</div>
</div>
<a href="schedule"><button type="button" class="btn btn-secondary">Back</button></a>
</div>
</div>
</div>
</section>
<br><br>
<footer></footer>
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
</body>
</html>

View File

@@ -0,0 +1,307 @@
<%--
Document : dashboard
Created on : 2019/11/11, 下午 10:08:39
Author : JerryKwok
--%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.util.Calendar"%>
<%@page import="java.util.GregorianCalendar"%>
<%@page contentType="text/html" pageEncoding="UTF-8" import="system.bean.LectureBean, system.bean.LectureDayBean, system.bean.LectureTimeBean, system.bean.SchedulerBean"%>
<!DOCTYPE html>
<%
String[] dayOfweeks = {"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"};
String[] months = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
String[] schoolDay = {"A", "B", "C", "D", "E", "F"};
GregorianCalendar calendar = new GregorianCalendar(2019, 8, 1);
GregorianCalendar preCalendar = new GregorianCalendar(2019, 7, 1);
SimpleDateFormat dateFormal = new SimpleDateFormat("yyyy-MM-dd");
String event = "";
%>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Admin Area | Dashboard</title>
<!-- Bootstrap core CSS -->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
<link href="../css/bootstrap.css" rel="stylesheet">
<link href="../css/style.css" rel="stylesheet">
</head>
<body>
<jsp:include page="../header.jsp"></jsp:include>
<section id="main">
<div class="container">
<div class="row">
<div class="col-lg-3">
<%@taglib uri="/WEB-INF/tlds/nav-taglib.tld" prefix="nav" %>
<nav:showNav role="Admin" active="Schdeule" />
</div>
<div class="col-lg-9">
<!-- Latest Users -->
<div class="card">
<div class="card-header main-color-bg">
<h5 class="card-title">Scheel Calendar List</h5>
</div>
<div class="card-body">
<%
if (request.getAttribute("deleteMes") != null) {
out.print("<div class='alert alert-success alert-dismissible fade show formated-table' role='alert'>");
out.print("<strong>Schedule #" + request.getAttribute("deleteMes") + " Deleted </strong>");
out.print("<button type='button' class='close' data-dismiss='alert' aria-label='Close'>");
out.print("<span aria-hidden='true'>&times;</span></button></div>");
}
if (request.getAttribute("addMes") != null) {
out.print("<div class='alert alert-success alert-dismissible fade show formated-table' role='alert'>");
out.print("<strong>Schedule Added </strong>");
out.print("<button type='button' class='close' data-dismiss='alert' aria-label='Close'>");
out.print("<span aria-hidden='true'>&times;</span></button></div>");
}
if (request.getAttribute("saveMes") != null) {
out.print("<div class='alert alert-success alert-dismissible fade show formated-table' role='alert'>");
out.print("<strong>Schedule #" + request.getAttribute("saveMes") + " Saved </strong>");
out.print("<button type='button' class='close' data-dismiss='alert' aria-label='Close'>");
out.print("<span aria-hidden='true'>&times;</span></button></div>");
}
%>
<br>
<form action="schedule?class=schoolDay" method="POST" class="format">
<button type="submit" class="btn btn-primary">Add Day</button>
<input type="hidden" name="action" value="addPage">
</form>
<form class="form-inline float-right" action="schedule?class=schoolDay" method="POST">
<div class="form-group mb-2">
<font>Search: </font>
</div>
<div class="form-group mx-sm-3 mb-2">
<input list="searchlist" type="text" class="form-control" name="searchVal" id="searchVal" placeholder="Search...">
</div>
<button type="submit" class="btn btn-dark mb-2">Search</button>
<input type="hidden" name="action" value="search">
</form>
<jsp:useBean id="scheduleAllList" scope="request" class="java.util.ArrayList<system.bean.SchedulerBean>"/>
<table class="table">
<thead class="thead-dark">
<th>Title</th>
<th>Start Date</th>
<th>End Date</th>
<th>Holiday</th>
<th>School Day</th>
<th>Action</th>
</thead>
<%
for (SchedulerBean schedule : scheduleAllList) {
out.print("<tr>");
out.print("<td>" + schedule.getTitle() + "</td>");
out.print("<td>" + schedule.getStart_date() + "</td>");
out.print("<td>" + schedule.getEnd_date() + "</td>");
out.print("<td>" + schedule.isHoliday() + "</td>");
out.print("<td>" + schedule.isSchoolDay() + "</td>");
out.print("<td>");
out.print("<a href='schedule?class=schoolDay&id=" + schedule.getId() + "'><button type='button' class='btn btn-info tableBtn'><i class='material-icons'>edit</i></button></a> ");
out.print("<a href='schedule?class=schoolDay&id=" + schedule.getId() + "&action=delete'><button type='button' class='btn btn-danger tableBtn'><i class='material-icons'>delete</i></button></a>");
out.print("</td>");
out.print("</tr>");
}
%>
</table>
</div>
</div>
<a href="schedule"><button type="button" class="btn btn-secondary">Back</button></a>
<br>
<div class="card">
<div class="card-header main-color-bg">
<h5 class="card-title">Scheel Calendar</h5>
</div>
<jsp:useBean id="scheduleList" scope="request" class="java.util.ArrayList<system.bean.SchedulerBean>"/>
<div class="card-body">
<table class="table">
<thead>
<% out.print("<tr>");
out.print("<th>Month</th>");
for (String dayOfweek : dayOfweeks) {
out.print("<th>" + dayOfweek + "</th>");
}
out.print("<th>Events</th>");
out.print("</tr>");
%>
</thead>
<%
out.print("<tr>");
int schoolDayPointer = 0;
int lastCache = 0;
for (int i = 0; i <= months.length; i++) {
int fillError = 0;
if (calendar.get(Calendar.MONTH) == 4 || calendar.get(Calendar.MONTH) == 7) {
fillError = 1;
}
out.print("<td rowspan=\"" + (Calendar.WEEK_OF_MONTH + 1 + fillError) + "\">" + (calendar.get(Calendar.MONTH) + 1) + "</td>");
System.out.println((Calendar.WEEK_OF_MONTH + 1 + fillError) + "testW");
int weekDay = 7;
for (int countDay = calendar.getActualMaximum(calendar.DAY_OF_MONTH); countDay > 0; countDay--) {
boolean hasEventDay = false;
if (schoolDayPointer == schoolDay.length) {
schoolDayPointer = 0;
}
if (weekDay <= 0) {
out.print("<td>" + event + "</td>");
out.print("</tr>");
out.print("<tr>");
weekDay = 7;
event = "";
}
String today = dateFormal.format(calendar.getTime());
System.out.println(today);
for (SchedulerBean schedule : scheduleList) {
if (schedule.getStart_date().equalsIgnoreCase(today)) {
hasEventDay = true;
if (!schedule.getEnd_date().equalsIgnoreCase(schedule.getStart_date())) {
event += schedule.getStart_day_Date() + "." + schedule.getStart_day_Month() + " - " + schedule.getEnd_day_Date() + "." + schedule.getEnd_day_Month() + " " + schedule.getTitle() + "<br>";
System.out.println(schedule.getCountDate());
for (int count = schedule.getCountDate(); count >= 0; count--) {
if (count == 0) {
hasEventDay = false;
}
if (calendar.get(Calendar.DATE) == 1 && lastCache > 0) {
if (lastCache >= 7) {
out.print("<td>" + calendar.get(Calendar.DATE) + "*</td>");
} else {
for (int printCache = lastCache; printCache > 0; printCache--) {
System.out.println("<td></td>");
}
out.print("<td>" + calendar.get(Calendar.DATE) + "*</td>");
weekDay -= lastCache;
}
} else if (calendar.get(Calendar.DAY_OF_WEEK) == 1 || calendar.get(Calendar.DAY_OF_WEEK) == 7) {
out.print("<td>" + calendar.get(Calendar.DATE) + "*</td>");
} else {
if (weekDay == 0) {
out.print("<td>" + event + "</td>");
out.print("</tr>");
out.print("<tr>");
if (schedule.isHoliday() || !schedule.isSchoolDay()) {
out.print("<td>*" + calendar.get(Calendar.DATE) + "*</td>");
} else {
out.print("<td>*" + calendar.get(Calendar.DATE) + schoolDay[schoolDayPointer] + "^</td>");
schoolDayPointer++;
if (schoolDayPointer == schoolDay.length) {
schoolDayPointer = 0;
}
}
weekDay = 7;
} else {
if (schedule.isHoliday() || !schedule.isSchoolDay()) {
out.print("<td>" + calendar.get(Calendar.DATE) + "*</td>");
} else {
out.print("<td>" + calendar.get(Calendar.DATE) + schoolDay[schoolDayPointer] + "^</td>");
schoolDayPointer++;
if (schoolDayPointer == schoolDay.length) {
schoolDayPointer = 0;
}
}
}
}
calendar.add(Calendar.DAY_OF_WEEK, 1);
weekDay--;
countDay--;
System.out.println(weekDay + "zz");
System.out.println(calendar.get(Calendar.DATE) + "hlo");
System.out.println(calendar.get(Calendar.DAY_OF_WEEK));
if (weekDay == 0) {
out.print("<td>" + event + "</td>");
out.print("</tr>");
out.print("<tr>");
weekDay = 7;
event = "";
}
}
} else {
if (schedule.isHoliday() || !schedule.isSchoolDay()) {
out.print("<td>" + calendar.get(Calendar.DATE) + "*</td>");
} else {
out.print("<td>" + calendar.get(Calendar.DATE) + schoolDay[schoolDayPointer] + "^</td>");
schoolDayPointer++;
if (schoolDayPointer == schoolDay.length) {
schoolDayPointer = 0;
}
}
}
event += schedule.getEnd_day_Date() + "." + schedule.getEnd_day_Month() + " " + schedule.getTitle() + "<br>";
System.out.println("TODAY " + today);
}
}
System.out.println(calendar.get(Calendar.DATE) + "weekday");
System.out.println(calendar.get(Calendar.DAY_OF_WEEK) + "week");
System.out.println(hasEventDay);
if (!hasEventDay && calendar.get(Calendar.DATE) == 1 && lastCache >= 7) {
if (hasEventDay == false && (calendar.get(Calendar.DAY_OF_WEEK) == 1 || calendar.get(Calendar.DAY_OF_WEEK) == 7)) {
out.print("<td>" + calendar.get(Calendar.DATE) + "</td>");
} else if (!hasEventDay && calendar.get(Calendar.DAY_OF_WEEK) != 1 && calendar.get(Calendar.DAY_OF_WEEK) != 7) {
out.print("<td>" + calendar.get(Calendar.DATE) + schoolDay[schoolDayPointer] + "</td>");
schoolDayPointer++;
}
} else if (!hasEventDay && calendar.get(Calendar.DATE) == 1 && lastCache > 0) {
for (int printCache = lastCache; printCache > 0; printCache--) {
out.print("<td></td>");
}
if (hasEventDay == false && (calendar.get(Calendar.DAY_OF_WEEK) == 1 || calendar.get(Calendar.DAY_OF_WEEK) == 7)) {
out.print("<td>" + calendar.get(Calendar.DATE) + "</td>");
} else if (!hasEventDay && calendar.get(Calendar.DAY_OF_WEEK) != 1 && calendar.get(Calendar.DAY_OF_WEEK) != 7) {
out.print("<td>" + calendar.get(Calendar.DATE) + schoolDay[schoolDayPointer] + "</td>");
schoolDayPointer++;
}
weekDay -= lastCache;
} else if (!hasEventDay && calendar.get(Calendar.DAY_OF_WEEK) != 1 && calendar.get(Calendar.DAY_OF_WEEK) != 7) {
out.print("<td>" + calendar.get(Calendar.DATE) + schoolDay[schoolDayPointer] + "</td>");
schoolDayPointer++;
} else if (hasEventDay == false && (calendar.get(Calendar.DAY_OF_WEEK) == 1 || calendar.get(Calendar.DAY_OF_WEEK) == 7)) {
out.print("<td>" + calendar.get(Calendar.DATE) + "</td>");
}
if (weekDay == 0) {
out.print("<td>" + event + "</td>");
out.print("</tr>");
out.print("<tr>");
}
System.out.println(weekDay);
weekDay--;
if (countDay == 1) {
lastCache = calendar.get(Calendar.DAY_OF_WEEK);
}
calendar.add(Calendar.DAY_OF_WEEK, 1);
}
out.print("</tr>");
}
out.print("</tr>");
%>
</table>
</div>
</div>
<a href="schedule"><button type="button" class="btn btn-secondary">Back</button></a>
</div>
</div>
</div>
</section>
<br><br>
<footer></footer>
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
</body>
</html>

View File

@@ -0,0 +1,131 @@
<%--
Document : dashboard
Created on : 2019/11/11, 下午 10:08:39
Author : JerryKwok
--%>
<%@page contentType="text/html" pageEncoding="UTF-8" import="system.bean.StudentBean, system.bean.ClassBean, java.util.ArrayList"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Admin Area | Dashboard</title>
<!-- Bootstrap core CSS -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
<link href="../css/bootstrap.css" rel="stylesheet">
<link href="../css/style.css" rel="stylesheet">
<link href="../css/bootstrap-datepicker.min.css" rel="stylesheet">
</head>
<%
String role = request.getParameter("role");
%>
<body>
<jsp:include page="../header.jsp"></jsp:include>
<section id="main">
<div class="container">
<div class="row">
<div class="col-lg-3">
<%@taglib uri="/WEB-INF/tlds/nav-taglib.tld" prefix="nav" %>
<nav:showNav role="Admin" active="Schedule" />
</div>
<div class="col-lg-9">
<!-- Website Overview -->
<div class="card">
<div class="card-header main-color-bg">
<h5 class="card-title">Edit Student Information</h5>
</div>
<div class="card-body">
<%
if (request.getAttribute("errMes") != null) {
out.print("<div class='alert alert-danger alert-dismissible fade show' role='alert'>");
out.print("<strong>School Day and Holiday can not checked in same time</strong>");
out.print("<button type='button' class='close' data-dismiss='alert' aria-label='Close'>");
out.print("<span aria-hidden='true'>&times;</span></button></div>");
}
if (request.getAttribute("notselectMes") != null) {
out.print("<div class='alert alert-danger alert-dismissible fade show' role='alert'>");
out.print("<strong>The checkbox must select at least one</strong>");
out.print("<button type='button' class='close' data-dismiss='alert' aria-label='Close'>");
out.print("<span aria-hidden='true'>&times;</span></button></div>");
}
%>
<br>
<form action="schedule?class=schoolDay" method="POST">
<table class="table">
<tr>
<th>Title</th>
<th><textarea name="title" class="form-control" required><%= request.getAttribute("title") != null ? request.getAttribute("title") : ""%></textarea></th>
</tr>
<tr>
<th>Start Date</th>
<td>
<div class="form-group">
<div class="input-group date">
<input type="date" class="form-control" id="startDatedatepicker" name="startDate" value="<%= request.getAttribute("startDate") != null ? request.getAttribute("startDate") : ""%>" required>
</div>
</div>
</td>
</tr>
<tr>
<th>End Date</th>
<td>
<div class="form-group">
<div class="input-group date">
<input type="date" class="form-control" id="endDatedatepicker" name="endDate" value="<%= request.getAttribute("endDate") != null ? request.getAttribute("endDate") : ""%>" required>
</div>
</div>
</td>
</tr>
<tr>
<th>Holiday</th>
<td><input type='checkbox' class="form-check-input" name="holiday" value="isHoliday"></td>
</tr>
<tr>
<th>School Day</th>
<td><input type="checkbox" class="form-check-input" name="schoolDay" value="isSchoolDay"></td>
</tr>
</table>
<button type="btn" class="btn btn-primary">Add to Schedule</button>
<input type="hidden" name="action" value="add">
</form>
</div>
</div>
<a href="schedule?class=schoolDay"><button type="button" class="btn btn-secondary">Back</button></a>
<!-- Latest Users -->
</div>
</div>
</div>
</section>
<br><br>
<footer></footer>
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script src="../js/bootstrap-datepicker.min.js"></script>
<script>
$(document).ready(function () {
$('#startDatedatepicker').datepicker({
format: "yyyy-mm-dd",
todayHighlight: true
});
$('#endDatedatepicker').datepicker({
format: "yyyy-mm-dd",
todayHighlight: true
});
$('.alert').alert();
});
</script>
</body>
</html>

View File

@@ -0,0 +1,141 @@
<%--
Document : dashboard
Created on : 2019/11/11, 下午 10:08:39
Author : JerryKwok
--%>
<%@page contentType="text/html" pageEncoding="UTF-8" import="system.bean.StudentBean, system.bean.ClassBean, java.util.ArrayList"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Admin Area | Dashboard</title>
<!-- Bootstrap core CSS -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
<link href="../css/bootstrap.css" rel="stylesheet">
<link href="../css/style.css" rel="stylesheet">
<link href="../css/bootstrap-datepicker.min.css" rel="stylesheet">
</head>
<%
String role = request.getParameter("role");
%>
<body>
<jsp:include page="../header.jsp"></jsp:include>
<section id="main">
<div class="container">
<div class="row">
<div class="col-lg-3">
<%@taglib uri="/WEB-INF/tlds/nav-taglib.tld" prefix="nav" %>
<nav:showNav role="Admin" active="Schedule" />
</div>
<jsp:useBean id="scheduleBean" scope="request" class="system.bean.SchedulerBean"/>
<div class="col-lg-9">
<!-- Website Overview -->
<div class="card">
<div class="card-header main-color-bg">
<h5 class="card-title">Edit Student Information</h5>
</div>
<div class="card-body">
<%
if (request.getAttribute("errMes") != null) {
out.print("<div class='alert alert-danger alert-dismissible fade show' role='alert'>");
out.print("<strong>School Day and Holiday can not checked in same time</strong>");
out.print("<button type='button' class='close' data-dismiss='alert' aria-label='Close'>");
out.print("<span aria-hidden='true'>&times;</span></button></div>");
}
if (request.getAttribute("notselectMes") != null) {
out.print("<div class='alert alert-danger alert-dismissible fade show' role='alert'>");
out.print("<strong>The checkbox must select at least one</strong>");
out.print("<button type='button' class='close' data-dismiss='alert' aria-label='Close'>");
out.print("<span aria-hidden='true'>&times;</span></button></div>");
}
%>
<br>
<form action="schedule?class=schoolDay" method="POST">
<table class="table">
<tr>
<th>Title</th>
<th><textarea name="title" class="form-control" required><%= request.getAttribute("title") != null ? request.getAttribute("title") : scheduleBean.getTitle() %></textarea></th>
</tr>
<tr>
<th>Start Date</th>
<td>
<div class="form-group">
<div class="input-group date">
<input type="date" class="form-control" id="startDatedatepicker" name="startDate" value="<%= request.getAttribute("startDate") != null ? request.getAttribute("startDate") : scheduleBean.getStart_date() %>" required>
</div>
</div>
</td>
</tr>
<tr>
<th>End Date</th>
<td>
<div class="form-group">
<div class="input-group date">
<input type="date" class="form-control" id="endDatedatepicker" name="endDate" value="<%= request.getAttribute("endDate") != null ? request.getAttribute("endDate") : scheduleBean.getEnd_date() %>" required>
</div>
</div>
</td>
</tr>
<%
String holiday ="";
String schoolDay = "";
if(scheduleBean.isHoliday())
holiday = "checked";
if(scheduleBean.isSchoolDay())
schoolDay = "checked";
%>
<tr>
<th>Holiday</th>
<td><input type='checkbox' class="form-check-input" name="holiday" value="isHoliday" <%= holiday %>></td>
</tr>
<tr>
<th>School Day</th>
<td><input type="checkbox" class="form-check-input" name="schoolDay" value="isSchoolDay" <%= schoolDay %>></td>
</tr>
</table>
<button type="btn" class="btn btn-primary">Save Schedule</button>
<input type="hidden" name="action" value="save">
<input type="hidden" name="id" value="<%= request.getParameter("id") %>">
</form>
</div>
</div>
<a href="schedule?class=schoolDay"><button type="button" class="btn btn-secondary">Back</button></a>
<!-- Latest Users -->
<a href="schedule?class=schoolDay"><button type="button" class="btn btn-secondary">Back</button></a>
</div>
</div>
</div>
</section>
<br><br>
<footer></footer>
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script src="../js/bootstrap-datepicker.min.js"></script>
<script>
$(document).ready(function () {
$('#startDatedatepicker').datepicker({
format: "yyyy-mm-dd",
todayHighlight: true
});
$('#endDatedatepicker').datepicker({
format: "yyyy-mm-dd",
todayHighlight: true
});
$('.alert').alert();
});
</script>
</body>
</html>