Files
portal/views/accessauths.html
2026-08-08 16:21:55 +02:00

137 lines
6.6 KiB
HTML

{{ template "header.html" . }}
<div class="flex min-h-full flex-col justify-center px-6 py-12 lg:px-8">
<div class="sm:mx-auto sm:w-full sm:max-w-sm">
<img class="mx-auto h-10 w-auto" src="/static/img/logo-black.png" alt="Your Company">
<h2 class="mt-10 text-center text-2xl/9 font-bold tracking-tight text-gray-900">Edit Access</h2>
</div>
<div class="mt-10 ">
<div class="w-full grid grid-cols-1 lg:grid-cols-1 xl:grid-cols-2 2xl:grid-cols-3 gap-4">
{{ range .data.accessAuths }}
<div class="mx-auto grid-cols-1 p-4 m-4 bg-gray-100 flex flex-wrap border rounded shadow-md">
<div class="gap-4">
<div class="font-bold text-center mb-4">
{{ .AccessAuth.Name }}<br>
{{ if .AccessAuth.IsActive }}
<span class="inline-flex items-center rounded-md bg-green-50 px-2 py-1 text-xs font-medium text-green-700
ring-1 ring-green-600/20 ring-inset">Active</span>
{{ else }}
<span class="inline-flex items-center rounded-md bg-red-50 px-2 py-1 text-xs font-medium text-red-700
ring-1 ring-red-600/10 ring-inset">Inactive</span>
{{ end }}
</div>
</div>
<div class="grid grid-cols-1 gap-4">
<form action="/access/{{ .AccessAuth.Id }}" method="POST">
<div class="font-bold text-center mb-4">
Add new Timetable Entry
</div>
<div class="mx-auto p-4 m-4 bg-gray-100 flex flex-wrap border rounded shadow-md">
<div class="grid grid-cols-4 gap-4">
<div>
<label for="weekday" class="block text-sm/6 font-medium text-gray-900">Weekday</label>
<select name="weekday" id="weekday">
<option value="0">Monday</option>
<option value="1">Tuesday</option>
<option value="2">Wednesday</option>
<option value="3">Thursday</option>
<option value="4">Friday</option>
<option value="5">Saturday</option>
<option value="6">Sunday</option>
</select>
</div>
<div>
<label for="starttime">Select a time:</label>
<input type="time" id="starttime" name="starttime">
</div>
<div>
<label for="duration" class="block text-sm/6 font-medium text-gray-900">Duration in Minutes</label>
<input type="number" id="duration" name="duration" value="60" min="0" step="15" class="w-full border border-gray-300 rounded-md p-2 focus:outline-none focus:ring focus:ring-blue-500">
</div>
<div>
<button type="submit" name="action" value="createTimetable" class="bg-green-500 hover:bg-red-700
text-white text-sm/6 font-bold py-2 px-4 rounded">Add</button>
</div>
</div>
</div>
</form>
{{ range .AccessAuth.Timetables }}
<div class="mx-auto p-4 m-4 bg-gray-100 flex flex-wrap border rounded shadow-md">
{{ .Weekday }} - {{ .Starttime }} - {{ .Duration }}
</div>
{{ end }}
<form action="/access/{{ .AccessAuth.Id }}" method="POST">
{{ range .Groups }}
<div class="mx-auto p-4 m-4 bg-gray-100 flex flex-wrap border rounded shadow-md">
{{ .Name }}
<input type="hidden" name="groupId" value="{{ .Id }}" required>
<div class="grid grid-cols-2 mt-4 flex flex-wrap gap-2 w-full">
<button type="submit" name="action" value="removeGroup" class="bg-red-500 hover:bg-red-700 text-white
text-sm/6 font-bold py-2 px-4 rounded">Remove Group</button>
</div>
</div>
{{ end }}
</form>
<div class="mb-4">
<form action="/access/{{ .AccessAuth.Id }}" method="POST">
<label class="block text-sm/6 text-gray-900">Add Group</label>
<div class="space-y-2">
{{ range $.data.groups }}
<label class="flex text-sm/6 items-center">
<input type="checkbox" class="form-checkbox h-4 w-4 text-gray-900" value="{{ .Id }}" name="groups[]">
<span class="ml-2 text-sm/6 text-gray-900">{{ .Name }}</span>
</label>
{{ end }}
</div>
<div class="grid grid-cols-2 mt-4 flex flex-wrap gap-2 w-full">
<button type="submit" name="action" value="addGroups" class="bg-green-500 hover:bg-red-700 text-white
text-sm/6 font-bold py-2 px-4 rounded">Add Groups</button>
</div>
</form>
</div>
<form action="/access/{{ .AccessAuth.Id }}" method="POST">
<div class="grid grid-cols-2 mt-4 flex flex-wrap gap-2 w-full">
<button type="submit" name="action" value="activate" class="bg-green-500 hover:bg-red-700 text-white
text-sm/6 font-bold py-2 px-4 rounded">Activate</button>
<button type="submit" name="action" value="deactivate" class="bg-green-500 hover:bg-red-700 text-white
text-sm/6 font-bold py-2 px-4 rounded">Deactivate</button>
<button type="submit" name="action" value="delete" class="bg-red-500 hover:bg-red-700 text-white
text-sm/6 font-bold py-2 px-4 rounded">Delete</button>
<button type="submit" name="action" value="clearTimetable" class="bg-blue-500 hover:bg-red-700 text-white
text-sm/6 font-bold py-2 px-4 rounded">Clear (MOCK)</button>
</div>
</form>
</div>
</div>
</div>
{{ end }}
</div>
<form action="/access" method="POST">
<div class="max-w-md mx-auto p-4 flex flex-wrap border rounded shadow-md">
<div class="font-bold text-center mb-4">
Create New accessAuth
</div>
<div class="grid grid-cols-2 gap-4">
<div>
<label for="variant-value1" class="block text-sm/6 font-medium text-gray-900">Name</label>
<input type="text" id="name" name="name" placeholder="name" class="w-full border border-gray-300 rounded-md p-2 focus:outline-none focus:ring focus:ring-blue-500">
</div>
</div>
<div class="grid grid-cols-4 mt-4 flex flex-wrap gap-2 w-full">
<button type="submit" class="bg-green-500 hover:bg-green-700 text-white text-sm/6 font-bold py-2 px-4 rounded">Create</button>
</div>
</div>
</form>
</div>
{{ template "footer.html" . }}