yavsc/src/Yavsc.Org/Views/Shared/_LoginPartial.cshtml
2026-06-20 20:21:15 +01:00

60 lines
4.6 KiB
Text

@using System.Security.Claims
@inject SignInManager<ApplicationUser> SignInManager
@inject UserManager<ApplicationUser> UserManager
@if (Context.User?.Identity?.IsAuthenticated ?? false)
{
string userName = User.GetUserName();
var plateformeControllers = new[] { "Bug", "HyperLink", "Feature" };
var administrationControllers = new[] { "Administration", "Announces", "Activity", "CommandForms", "Notifications", "SIRENExceptions", "Client", "MailingTemplate" };
var accountMenuControllers = new[] { "Manage", "Grants", "Device", "Diagnostics", "Account" };
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle @PageHelpers.ActivePageAny(ViewContext, plateformeControllers)" href="#" id="dropdown04" data-bs-toggle="dropdown" aria-expanded="false">Plateforme</a>
<ul class="dropdown-menu" aria-labelledby="dropdown04">
<li><a class="dropdown-item @PageHelpers.ActivePage(ViewContext, "Bug")" asp-controller="Bug" asp-action="Index">Bugs</a></li>
<li><a class="dropdown-item @PageHelpers.ActivePage(ViewContext, "Feature")" asp-controller="Feature" asp-action="Index">Features</a></li>
</ul>
</li>
@if (User.IsInMsRole(YavscConstants.AdminGroupName)) {
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle @PageHelpers.ActivePageAny(ViewContext, administrationControllers)" href="#" id="dropdown05" data-bs-toggle="dropdown" aria-expanded="false">
Administration
</a>
<ul class="dropdown-menu" aria-labelledby="dropdown05">
<li><a class="dropdown-item @PageHelpers.ActivePage(ViewContext, "Administration")" asp-controller="Administration" asp-action="Index">Index</a></li>
<li><a class="dropdown-item @PageHelpers.ActivePage(ViewContext, "Announces")" asp-controller="Announces" asp-action="Index">Announces</a></li>
<li><a class="dropdown-item @PageHelpers.ActivePage(ViewContext, "Activity")" asp-controller="Activity" asp-action="Index">Activités</a></li>
<li><a class="dropdown-item @PageHelpers.ActivePage(ViewContext, "CommandForms")" asp-controller="CommandForms" asp-action="Index">Formulaires</a></li>
<li><a class="dropdown-item @PageHelpers.ActivePage(ViewContext, "Notifications")" asp-controller="Notifications" asp-action="Index">Notifications</a></li>
<li><a class="dropdown-item @PageHelpers.ActivePage(ViewContext, "SIRENExceptions")" asp-controller="SIRENExceptions" asp-action="Index">Excéptions au numéro de SIREN</a></li>
<li><a class="dropdown-item @PageHelpers.ActivePage(ViewContext, "Client")" asp-controller="Client" asp-action="Index">Accès API</a></li>
<li><a class="dropdown-item @PageHelpers.ActivePage(ViewContext, "MailingTemplate")" asp-controller="MailingTemplate" asp-action="Index">Emailing</a></li>
</ul>
</li>}
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle @PageHelpers.ActivePageAny(ViewContext, accountMenuControllers)" href="#" id="dropdown04" data-bs-toggle="dropdown" aria-expanded="false">Hello @userName!</a>
<ul class="dropdown-menu">
<li>
<a class="dropdown-item @PageHelpers.ActivePage(ViewContext, "Manage")" asp-controller="Manage" asp-action="Index" title="Manage">
<img src="/avatars/@(User.GetUserName()).xs.png" asp-append-version="true" class="smalltofhol" />
Manage your account
</a>
</li>
<li><a class="dropdown-item @PageHelpers.ActivePage(ViewContext, "Grants")" asp-controller="Grants" asp-action="Index">Grants</a></li>
<li><a class="dropdown-item @PageHelpers.ActivePage(ViewContext, "Device")" asp-controller="Device" asp-action="Index">Device</a></li>
<li><a class="dropdown-item @PageHelpers.ActivePage(ViewContext, "Diagnostics")" asp-controller="Diagnostics" asp-action="Index">Diagnostics</a></li>
<li><a class="dropdown-item @PageHelpers.ActivePage(ViewContext, "Account", "Logout")" asp-controller="Account" asp-action="Logout">Logout</a></li>
</ul>
</li>
}
else
{
<li class="dropdown-item">
<a class="nav-link @PageHelpers.ActivePage(ViewContext, "Account", "Register")" asp-controller="Account" asp-action="Register" >Register</a>
</li>
<li class="dropdown-item">
<a class="nav-link @PageHelpers.ActivePage(ViewContext, "Account", "Signin")" asp-controller="Account" asp-action="Signin" asp-route-ReturnUrl="~/" asp-route-AllowRememberLogin="true" >Signin</a>
</li>
}