53 lines
3.5 KiB
HTML
53 lines
3.5 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Admin Panel</title>
|
|
<link rel="icon" type="image/png" href="{{ LOGO_PNG }}">
|
|
<link href="/static/css/output.css" rel="stylesheet">
|
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css" rel="stylesheet">
|
|
</head>
|
|
<body class="bg-gray-300 text-gray-900 dark:bg-gray-900 dark:text-gray-100 min-h-screen flex flex-col">
|
|
{% include 'header.html' %}
|
|
<div class="flex-1 flex items-center justify-center mx-4">
|
|
<div class="container py-8 max-w-md pt-20">
|
|
<div class="bg-gray-200 dark:bg-gray-800 rounded-2xl shadow-lg p-8">
|
|
<h1 class="text-3xl font-bold mb-6 text-center">Admin</h1>
|
|
<div class="flex justify-center gap-4 mb-6">
|
|
<a href="/audit" class="bg-gray-300 hover:bg-gray-400 dark:bg-gray-700 dark:hover:bg-gray-600 px-4 py-2 rounded-lg shadow text-center w-40">Audit Log</a>
|
|
<a href="/users" class="bg-gray-300 hover:bg-gray-400 dark:bg-gray-700 dark:hover:bg-gray-600 px-4 py-2 rounded-lg shadow text-center w-40">Users</a>
|
|
</div>
|
|
<hr class="border-t-2 border-gray-600 rounded-lg mb-4">
|
|
<h1 class="text-2xl font-bold mb-6 text-center">Add Subnet</h1>
|
|
{% if error %}
|
|
<div class="text-red-500 text-center mb-4">{{ error }}</div>
|
|
{% endif %}
|
|
<form action="/add_subnet" method="POST" class="mb-6" onsubmit="return validateSubnetForm();">
|
|
<div class="flex flex-col space-y-4">
|
|
<input type="text" name="name" placeholder="Subnet Name" class="border p-3 rounded-lg bg-gray-300 dark:bg-gray-900 border-gray-600" required>
|
|
<input type="text" name="cidr" id="cidr-input" placeholder="CIDR (e.g., 192.168.1.0/24)" class="border p-3 rounded-lg bg-gray-300 dark:bg-gray-900 border-gray-600" required>
|
|
<input type="text" name="site" placeholder="Site/Location" class="border p-3 rounded-lg bg-gray-300 dark:bg-gray-900 border-gray-600" required>
|
|
<button type="submit" class="bg-gray-300 hover:bg-gray-400 dark:bg-gray-700 dark:hover:bg-gray-600 px-4 py-2 rounded-lg">Add Subnet</button>
|
|
<span id="cidr-error" class="text-red-500 text-sm hidden"></span>
|
|
</div>
|
|
</form>
|
|
<hr class="border-t-2 border-gray-600 rounded-lg mb-4">
|
|
<h1 class="text-2xl font-bold mb-6 text-center">Delete Subnet</h1>
|
|
<form action="/delete_subnet" method="POST" class="mb-6 flex items-center space-x-4 justify-center" onsubmit="return confirm('Are you sure you want to delete this subnet and all its IPs? This action is irreversible.');">
|
|
<select name="subnet_id" class="border p-3 rounded-lg bg-gray-300 dark:bg-gray-900 border-gray-600" required>
|
|
<option value="" disabled selected>Select Subnet</option>
|
|
{% for subnet in subnets %}
|
|
<option value="{{ subnet.id }}">{{ subnet.name }} ({{ subnet.cidr }})</option>
|
|
{% endfor %}
|
|
</select>
|
|
<button type="submit" class="text-red-500 hover:text-red-700 rounded-full p-3" title="Delete Subnet">
|
|
<i class="fas fa-trash fa-lg"></i>
|
|
</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script src="/static/js/add_subnet.js"></script>
|
|
</body>
|
|
</html> |