add all files

This commit is contained in:
2024-05-22 12:32:30 +02:00
parent 3b7e9acd32
commit 646033244f
23 changed files with 1747 additions and 0 deletions
+16
View File
@@ -0,0 +1,16 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>LDAP Success</title>
</head>
<body>
<script>
// Display popup message
alert("LDAP sync ended succesfully");
window.location.href = "/";
</script>
</body>
</html>
+65
View File
@@ -0,0 +1,65 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Access Logs</title>
<link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
</head>
<body>
<div class="navbar">
<a href="/">Home</a>
<a href="/UserDB">Users</a>
<a href="/LogsDB">Logs</a>
</div>
<div class="container">
<h1>Latest Access Logs</h1>
<table>
<thead>
<tr>
<th>Timestamp</th>
<th>User</th>
<th>Tag UID</th>
<th>Door ID</th>
<th>Access Granted</th>
</tr>
</thead>
<tbody>
{% for log in logs %}
<tr>
<td>{{ log[0] }}</td>
<td>{{ log[1] }}</td>
<td>{{ log[2] }}</td>
<td>{{ log[4] }}</td>
<td>{{ 'Yes' if log[3] == 1 else 'No' }}</td>
</tr>
{% endfor %}
</tbody>
</table>
<h1>Add Door</h1>
<form action="/add_door" method="post">
<label for="Door_id">Door ID:</label>
<input type="number" id="Door_id" name="Door_id" required><br><br>
<label for="group_cn">Group CN:</label>
<select id="group_cn" name="group_cn" required>
{% for group in existing_groups %}
<option value="{{ group }}">{{ group }}</option>
{% endfor %}
</select><br><br>
<input type="submit" value="Submit">
</form>
<h1>Force LDAP Synchronization</h1>
<form action="/sync">
<input type="submit" value="Sync LDAP">
</form>
</div>
<script>
// Refresh the page every 5 seconds
setTimeout(function(){
location.reload();
}, 5000);
</script>
</body>
</html>
+83
View File
@@ -0,0 +1,83 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Access Logs</title>
<link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
</head>
<script>
function filterTable() {
var timestampInput = document.getElementById("timestampFilter").value.toLowerCase();
var userInput = document.getElementById("userFilter").value.toLowerCase();
var rfidUidInput = document.getElementById("rfidUidFilter").value.toLowerCase();
var doorIdInput = document.getElementById("doorIdFilter").value.toLowerCase();
var table = document.getElementById("logsTable");
var tr = table.getElementsByTagName("tr");
for (var i = 1; i < tr.length; i++) {
var tdTimestamp = tr[i].getElementsByTagName("td")[0];
var tdUser = tr[i].getElementsByTagName("td")[1];
var tdRfidUid = tr[i].getElementsByTagName("td")[2];
var tdDoorId = tr[i].getElementsByTagName("td")[3];
if (tdTimestamp && tdUser && tdRfidUid && tdDoorId) {
var timestampValue = tdTimestamp.textContent || tdTimestamp.innerText;
var userValue = tdUser.textContent || tdUser.innerText;
var rfidUidValue = tdRfidUid.textContent || tdRfidUid.innerText;
var doorIdValue = tdDoorId.textContent || tdDoorId.innerText;
if (timestampValue.toLowerCase().indexOf(timestampInput) > -1 &&
userValue.toLowerCase().indexOf(userInput) > -1 &&
rfidUidValue.toLowerCase().indexOf(rfidUidInput) > -1 &&
doorIdValue.toLowerCase().indexOf(doorIdInput) > -1) {
tr[i].style.display = "";
} else {
tr[i].style.display = "none";
}
}
}
}
</script>
</head>
<body>
<div class="navbar">
<a href="/">Home</a>
<a href="/UserDB">Users</a>
<a href="/LogsDB">Logs</a>
</div>
<div class="container">
<h1>Access Logs</h1>
<div class="filter-container">
<input type="text" id="timestampFilter" onkeyup="filterTable()" placeholder="Filter by timestamp">
<input type="text" id="userFilter" onkeyup="filterTable()" placeholder="Filter by user">
<input type="text" id="rfidUidFilter" onkeyup="filterTable()" placeholder="Filter by RFID UID">
<input type="text" id="doorIdFilter" onkeyup="filterTable()" placeholder="Filter by door ID">
</div>
<button onclick="window.location.href='/export_logs'">Export Logs as csv</button>
<table id="logsTable">
<thead>
<tr>
<th>Timestamp</th>
<th>User</th>
<th>RFID UID</th>
<th>Door ID</th>
<th>Access Granted</th>
</tr>
</thead>
<tbody>
{% for log in logs %}
<tr>
<td>{{ log[0] }}</td>
<td>{{ log[1] }}</td>
<td>{{ log[2] }}</td>
<td>{{ log[4] }}</td>
<td>{{ 'Yes' if log[3] else 'No' }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</body>
</html>
+39
View File
@@ -0,0 +1,39 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Users </title>
<link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
</head>
<body>
<div class="navbar">
<a href="/">Home</a>
<a href="/UserDB">Users</a>
<a href="/LogsDB">Logs</a>
</div>
<div class="container">
<h1>Users Database</h1>
<table>
<thead>
<tr>
<th>UPN</th>
<th>RFID UID</th>
<th>Member Of</th>
</tr>
</thead>
<tbody>
{% for user in users %}
<tr>
<td>{{ user[0] }}</td>
<td>{{ user[1] }}</td>
<td>{{ user[2] }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</body>
</html>
+27
View File
@@ -0,0 +1,27 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Add Door</title>
</head>
<body>
<h1>Add Door</h1>
<form action="/add_door" method="post">
<label for="Door_id" name="Door_id">Door ID:</label>
<input type="integer" id="Door_id" name="Door_id" required><br><br>
<label for="group_cn">Group CN:</label>
<select id="group_cn" name="group_cn" required>
{% for group in existing_groups %}
<option value="{{ group }}">{{ group }}</option>
{% endfor %}
</select><br><br>
<input type="submit" value="Submit">
</form>
<br>
<h1>Force LDAP Synchronization</h1>
<form action="/sync">
<input type="submit" value="Sync LDAP">
</form>
</body>
</html>