Odstranění zbytečných stránek, přidání administrace pro pozvánky.

This commit is contained in:
Matěj Kubíček
2026-09-17 17:06:27 +02:00
parent 2040a16879
commit 3a35d10227
11 changed files with 136 additions and 121 deletions
@@ -0,0 +1,34 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using StuzkovakWeb.Data;
using StuzkovakWeb.ViewModels;
namespace StuzkovakWeb.Areas.Admin.Controllers;
public class InvitesController : AdminBaseController
{
private readonly AppDbContext _context;
public InvitesController(AppDbContext context)
{
_context = context;
}
public async Task<IActionResult> Index()
{
var invites = await _context.Invites.ToListAsync();
return View(invites);
}
public async Task<IActionResult> Details(Guid id)
{
var invite = await _context.Invites.FirstOrDefaultAsync(i => i.Id == id);
if (invite == null) return NotFound();
return View(new AdminInviteDetailViewModel
{
Id = invite.Id,
TeacherName = invite.TeacherName,
IsAccepted = invite.IsAccepted
});
}
}
@@ -0,0 +1,40 @@
@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>
@@ -0,0 +1,41 @@
@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>
</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>
<a asp-action="Details" asp-route-id="@invite.Id" class="btn btn-sm btn-outline-primary">Details</a>
</td>
</tr>
}
</tbody>
</table>