Přemístění + dodělání funkčnosti webu.

This commit is contained in:
Matěj Kubíček
2026-09-17 17:50:48 +02:00
parent 3a35d10227
commit f223721fbd
128 changed files with 714 additions and 172 deletions
@@ -0,0 +1,63 @@
@model StuzkovakWeb.ViewModels.AdminInviteDetailViewModel
@{
ViewData["Title"] = "Detail pozvánky";
}
<div class="mb-4">
<a asp-action="Index" class="btn btn-secondary">&larr; Zpět na seznam pozvánek</a>
</div>
@if (TempData["SuccessMessage"] != null)
{
<div class="alert alert-success">@TempData["SuccessMessage"]</div>
}
<div class="card mb-4">
<div class="card-header bg-primary text-white">
<h3 class="card-title mb-0">Pozvánka pro učitele: @Model.TeacherName</h3>
</div>
<div class="card-body">
<dl class="row">
<dt class="col-sm-3">ID</dt>
<dd class="col-sm-9">@Model.Id</dd>
<dt class="col-sm-3">Učitel</dt>
<dd class="col-sm-9">@Model.TeacherName</dd>
<dt class="col-sm-3">Přijetí</dt>
<dd class="col-sm-9">@{
if (Model.IsAccepted == true)
{
<span class="badge bg-success">Ano</span>
}
else if (Model.IsAccepted == false)
{
<span class="badge bg-danger">Ne</span>
}
}</dd>
</dl>
</div>
</div>
<div class="card mb-4">
<div class="card-header">
<h5 class="mb-0">Upravit jméno učitele</h5>
</div>
<div class="card-body">
<form asp-action="Edit" method="post">
@Html.AntiForgeryToken()
<input type="hidden" name="id" value="@Model.Id" />
<div class="mb-3">
<label for="name" class="form-label">Jméno učitele</label>
<input type="text" class="form-control" id="name" name="name" value="@Model.TeacherName" required />
</div>
<button type="submit" class="btn btn-primary">Uložit</button>
</form>
</div>
</div>
<form asp-action="Delete" asp-route-id="@Model.Id" method="post"
onsubmit="return confirm('Opravdu smazat tuto pozvánku?');">
@Html.AntiForgeryToken()
<button type="submit" class="btn btn-danger">Smazat pozvánku</button>
</form>
@@ -0,0 +1,84 @@
@model List<StuzkovakWeb.Entities.InviteEntity>
@{
ViewData["Title"] = "Invite Management";
}
<div class="d-flex justify-content-between align-items-center mb-4">
<h1>Pozvánky</h1>
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#createInviteModal">
+ Nová pozvánka
</button>
</div>
@if (TempData["SuccessMessage"] != null)
{
<div class="alert alert-success">@TempData["SuccessMessage"]</div>
}
<table class="table table-striped table-hover">
<thead class="table-dark">
<tr>
<th>ID</th>
<th>Učitel</th>
<th>Potvrzení</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
@foreach (var invite in Model)
{
<tr>
<td>@invite.Id</td>
<td>@invite.TeacherName</td>
<td>@{
if (invite.IsAccepted == true)
{
<span class="badge bg-success">Ano</span>
}
else if (invite.IsAccepted == false)
{
<span class="badge bg-danger">Ne</span>
}
}</td>
<td class="d-flex gap-1">
<a asp-action="Details" asp-route-id="@invite.Id" class="btn btn-sm btn-outline-primary">Details</a>
<form asp-action="Delete" asp-route-id="@invite.Id" method="post"
onsubmit="return confirm('Opravdu smazat tuto pozvánku?');">
@Html.AntiForgeryToken()
<button type="submit" class="btn btn-sm btn-outline-danger">Smazat</button>
</form>
<a
asp-area="" asp-controller="Home" asp-action="Index" asp-route-id="@invite.Id"
class="btn btn-sm btn-outline-secondary">
Ukázka
</a>
</td>
</tr>
}
</tbody>
</table>
<!-- Create Invite Modal -->
<div class="modal fade" id="createInviteModal" tabindex="-1" aria-labelledby="createInviteModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<form asp-action="Create" method="post">
@Html.AntiForgeryToken()
<div class="modal-header">
<h5 class="modal-title" id="createInviteModalLabel">Nová pozvánka</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div class="mb-3">
<label for="teacherName" class="form-label">Jméno učitele</label>
<input type="text" class="form-control" id="teacherName" name="teacherName" required autofocus />
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Zrušit</button>
<button type="submit" class="btn btn-primary">Vytvořit</button>
</div>
</form>
</div>
</div>
</div>