#6 Vues et controlleur pour Style et Commentaire au singulier. #12 Mise en conformité du style vues, les memes icones sont utilisés sur toutes les pages admin. Ajout de la route pour creer un titre.
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
@model Webzine.WebApplication.Areas.Administration.ViewModels.Style.StyleCreateViewModel
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "Créer un style";
|
||||
}
|
||||
|
||||
<div class="container mt-4">
|
||||
<h1 class="mb-3">Créer un style</h1>
|
||||
<hr />
|
||||
|
||||
<form asp-action="Create" method="post" class="mt-4">
|
||||
|
||||
@* Utilisation de d-flex pour aligner les éléments sur une ligne *@
|
||||
<div class="d-flex align-items-center">
|
||||
|
||||
@* Label *@
|
||||
<div class="me-3">
|
||||
<label asp-for="Libelle" class="col-form-label fw-bold">
|
||||
Libellé<span class="text-danger">*</span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
@* Input *@
|
||||
<div class="me-3">
|
||||
<input asp-for="Libelle" class="form-control" style="width: 250px;" />
|
||||
</div>
|
||||
|
||||
@* Bouton *@
|
||||
<div>
|
||||
<button type="submit" class="btn btn-primary">Sauvegarder</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* Zone d'erreur en dessous *@
|
||||
<div class="mt-2">
|
||||
<span asp-validation-for="Libelle" class="text-danger"></span>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="mt-4">
|
||||
<a asp-action="Index" class="btn-link">Retour à l'administration des styles</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
@model Webzine.WebApplication.Areas.Administration.ViewModels.Style.StyleDeleteViewModel
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "Supprimer un style";
|
||||
}
|
||||
|
||||
<div class="container mt-4">
|
||||
|
||||
<h1 class="mb-3">Supprimer un style</h1>
|
||||
<hr />
|
||||
|
||||
<p class="mb-4">
|
||||
Êtes-vous sûr de vouloir supprimer le style suivant ?
|
||||
</p>
|
||||
|
||||
<div class="mb-4">
|
||||
@* On affiche le Libellé en gros *@
|
||||
<h4>@Model.Libelle</h4>
|
||||
|
||||
@* On affiche l'ID discrètement en dessous *@
|
||||
<div class="text-muted">
|
||||
Identifiant technique : @Model.IdStyle
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form asp-action="Delete" method="post">
|
||||
@* Champ caché indispensable pour transmettre l'ID au contrôleur en POST *@
|
||||
<input type="hidden" asp-for="IdStyle" />
|
||||
|
||||
<button type="submit" class="btn btn-danger">
|
||||
Supprimer
|
||||
</button>
|
||||
</form>
|
||||
|
||||
<br />
|
||||
<br />
|
||||
|
||||
<a asp-action="Index"
|
||||
class="btn-link">
|
||||
Retour à l'administration des styles
|
||||
</a>
|
||||
|
||||
</div>
|
||||
@@ -0,0 +1,47 @@
|
||||
@model Webzine.WebApplication.Areas.Administration.ViewModels.Style.StyleEditViewModel
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "Editer un style";
|
||||
}
|
||||
|
||||
<div class="container mt-4">
|
||||
<h1 class="mb-3">Editer un style</h1>
|
||||
<hr />
|
||||
|
||||
<form asp-action="Edit" method="post" class="mt-4">
|
||||
|
||||
@* Champ caché pour l'ID *@
|
||||
<input type="hidden" asp-for="IdStyle" />
|
||||
|
||||
@* Conteneur Flex pour alignement horizontal (Label - Input - Bouton) *@
|
||||
<div class="d-flex align-items-center">
|
||||
|
||||
@* Label *@
|
||||
<div class="me-3">
|
||||
<label asp-for="Libelle" class="col-form-label fw-bold">
|
||||
Libellé<span class="text-danger">*</span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
@* Input *@
|
||||
<div class="me-3">
|
||||
<input asp-for="Libelle" class="form-control" style="width: 250px;" />
|
||||
</div>
|
||||
|
||||
@* Bouton *@
|
||||
<div>
|
||||
<button type="submit" class="btn btn-primary">Sauvegarder</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* Zone d'erreur spécifique au champ *@
|
||||
<div class="mt-2">
|
||||
<span asp-validation-for="Libelle" class="text-danger"></span>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="mt-4">
|
||||
<a asp-action="Index" class="btn-link">Retour à l'administration des styles</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,55 @@
|
||||
@model Webzine.WebApplication.Areas.Administration.ViewModels.Style.StyleViewModel
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "Styles";
|
||||
}
|
||||
|
||||
<div class="container mt-4">
|
||||
|
||||
<h1 class="mb-3">Styles</h1>
|
||||
<hr />
|
||||
|
||||
<div class="mb-3">
|
||||
<a asp-action="Create" class="btn btn-primary">
|
||||
<i class="fas fa-plus"></i> Ajouter un nouvel style
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-hover table-bordered table-sm">
|
||||
<thead class="table-active">
|
||||
<tr>
|
||||
<th scope="col" class="p-2">Libellé</th>
|
||||
<th scope="col" class="text-center p-2" style="width: 100px;">Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@if (Model.Styles != null && Model.Styles.Any())
|
||||
{
|
||||
@foreach (Webzine.Entity.Style style in Model.Styles)
|
||||
{
|
||||
<tr class="align-middle">
|
||||
<td class="p-2">
|
||||
@style.Libelle
|
||||
</td>
|
||||
<td class="text-center p-2">
|
||||
<a asp-action="Edit" asp-route-id="@style.IdStyle" class="text-primary me-2" title="Éditer">
|
||||
<i class="fas fa-edit"></i>
|
||||
</a>
|
||||
<a asp-action="Delete" asp-route-id="@style.IdStyle" class="text-primary" title="Supprimer">
|
||||
<i class="fas fa-trash"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
<tr>
|
||||
<td colspan="2" class="text-center p-2">Aucun style disponible.</td>
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user