275 lines
20 KiB
Plaintext
275 lines
20 KiB
Plaintext
@using System.Globalization
|
|
@using System.Net.Mime
|
|
@using gehGassi.Common.Data
|
|
@using gehGassi.Domain.Users
|
|
@using gehGassi.Permissions
|
|
@using gehGassi.Web.Auth
|
|
@using gehGassi.Web.Helper
|
|
@using gehGassi.Web.Services
|
|
@using Microsoft.AspNetCore.Authorization
|
|
@using Microsoft.AspNetCore.Hosting
|
|
@using Microsoft.AspNetCore.Identity
|
|
@using Microsoft.AspNetCore.Mvc.Localization
|
|
@using Microsoft.Extensions.Options
|
|
@inject IViewLocalizer Localizer
|
|
@inject IScriptVersionCalculator ScriptVersionCalculator
|
|
@inject IWebHostEnvironment HostingEnvironment
|
|
@inject UserManager<ApplicationUser> UserManager
|
|
@inject IAuthorizationService AuthorizationService
|
|
@{
|
|
ApplicationUser appUser = ViewBag.ApplicationUser;
|
|
var lang = CultureInfo.CurrentCulture.TwoLetterISOLanguageName;
|
|
if (lang == "de")
|
|
{
|
|
lang += "-DE";
|
|
}
|
|
else
|
|
{
|
|
lang += "-US";
|
|
}
|
|
int numberOfRoles = 0;
|
|
if ((await AuthorizationService.AuthorizeAsync(User, Policies.AppUserOnly)).Succeeded && !string.IsNullOrWhiteSpace(User.AppUserId()))
|
|
{
|
|
numberOfRoles += 1;
|
|
}
|
|
if ((await AuthorizationService.AuthorizeAsync(User, Policies.CustomerOnly)).Succeeded && User.CustomerId() != null)
|
|
{
|
|
numberOfRoles += 1;
|
|
}
|
|
if ((await AuthorizationService.AuthorizeAsync(User, Policies.PowerUserOnly)).Succeeded || (await AuthorizationService.AuthorizeAsync(User, Policies.AdministratorOnly)).Succeeded)
|
|
{
|
|
numberOfRoles += 1;
|
|
}
|
|
}
|
|
|
|
<ul class="sidebar-nav" data-coreui="navigation" data-simplebar>
|
|
|
|
@if ((await AuthorizationService.AuthorizeAsync(User, Policies.AdministratorOnly)).Succeeded || (await AuthorizationService.AuthorizeAsync(User, Policies.PowerUserOnly)).Succeeded)
|
|
{
|
|
if (numberOfRoles > 1)
|
|
{
|
|
<text>
|
|
<li class="nav-group">
|
|
<a class="nav-link nav-group-toggle rootmenu" href="#"><i class="nav-icon fa-brands fa-superpowers"></i> @Localizer["Area_Administration"]</a>
|
|
<ul class="nav-group-items">
|
|
</text>
|
|
}
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="@Url.Action("Index", "Home")"><i class="nav-icon fa fa-gauge-simple-high"></i> @Localizer["Menu_Dashboard"]</a>
|
|
</li>
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.CustomersManage, Permission.CustomersRead)">
|
|
<a class="nav-link" href="@Url.Action("Index", "Customer")"><i class="nav-icon fa fa-cash-register"></i> @Localizer["Menu_Customers"]</a>
|
|
</li>
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.NewsManage, Permission.NewsRead)">
|
|
<a class="nav-link" href="@Url.Action("Index", "News")"><i class="nav-icon fa fa-file-lines"></i> @Localizer["Menu_News"]</a>
|
|
</li>
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.OrdersAccess)">
|
|
<a class="nav-link" href="@Url.Action("Index", "Order")"><i class="nav-icon fa fa-newspaper"></i> @Localizer["Menu_Orders"]</a>
|
|
</li>
|
|
<li class="nav-group" cb-permissions="@Tools.PermissionList(Permission.AppUsersManage, Permission.AppUsersRead, Permission.DogsManage, Permission.DogsRead, Permission.SettingsManage, Permission.SettingsFeedback, Permission.SettingsComplaints, Permission.AppUserReports)">
|
|
<a class="nav-link nav-group-toggle" href="#"><i class="nav-icon fa fa-mobile-screen-button"></i> @Localizer["Menu_App"]</a>
|
|
<ul class="nav-group-items">
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.AppUsersManage, Permission.AppUsersRead)">
|
|
<a class="nav-link" href="@Url.Action("Index", "AppUser")"><i class="nav-icon fa fa-bone"></i> @Localizer["Menu_AppUsers"]</a>
|
|
</li>
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.DogsManage, Permission.DogsRead)">
|
|
<a class="nav-link" href="@Url.Action("Index", "Dog")"><i class="nav-icon fa fa-dog"></i> @Localizer["Menu_Dogs"]</a>
|
|
</li>
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.AppUsersManage, Permission.AppUserReports)">
|
|
<a class="nav-link" href="@Url.Action("Index", "AppUserReport")"><i class="nav-icon fa fa-triangle-exclamation"></i> @Localizer["Menu_AppReports"]</a>
|
|
</li>
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.SettingsManage, Permission.SettingsComplaints)">
|
|
<a class="nav-link" href="@Url.Action("Index", "WalkComplaint")"><i class="nav-icon fa fa-circle-exclamation"></i> @Localizer["Menu_WalkComplaint"]</a>
|
|
</li>
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.SettingsManage, Permission.SettingsFeedback)">
|
|
<a class="nav-link" href="@Url.Action("Index", "Feedback")"><i class="nav-icon fa fa-comment-dots"></i> @Localizer["Menu_Feedback"]</a>
|
|
</li>
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.AppUsersManage, Permission.AppUsersRead)">
|
|
<a class="nav-link" href="@Url.Action("Index", "Walk")"><i class="nav-icon fa fa-person-walking"></i> @Localizer["Menu_Walks"]</a>
|
|
</li>
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.AppUsersManage, Permission.AppUsersRead)">
|
|
<a class="nav-link" href="@Url.Action("IndexRequests", "Walk")"><i class="nav-icon fa fa-person-circle-question"></i> @Localizer["Menu_PublicWalkRequests"]</a>
|
|
</li>
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.AppUsersManage, Permission.AppUsersRead)">
|
|
<a class="nav-link" href="@Url.Action("Index", "Conversation")"><i class="nav-icon fa fa-comments"></i> @Localizer["Menu_Conversations"]</a>
|
|
</li>
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.SubscriptionsManage, Permission.SubscriptionsRead)">
|
|
<a class="nav-link" href="@Url.Action("IndexSubscriptions", "Subscription")"><i class="nav-icon fa fa-eur"></i> @Localizer["Menu_Subscriptions"]</a>
|
|
</li>
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.SubscriptionsManage, Permission.SubscriptionsRead)">
|
|
<a class="nav-link" href="@Url.Action("IndexBookings", "Subscription")"><i class="nav-icon fa fa-eur"></i> @Localizer["Menu_Subscriptions_Bookings"]</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="nav-group" cb-permissions="@Tools.PermissionList(Permission.ListingsManage, Permission.ListingsRead, Permission.AdvertisementsManage, Permission.AdvertisementsRead, Permission.BannersManage, Permission.BannersRead, Permission.PinsManage, Permission.PinsRead)">
|
|
<a class="nav-link nav-group-toggle" href="#"><i class="nav-icon fa fa-mobile-screen-button"></i> @Localizer["Menu_App_Advertisements"]</a>
|
|
<ul class="nav-group-items">
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.ListingsManage, Permission.ListingsRead)">
|
|
<a class="nav-link" href="@Url.Action("Index", "Listing")"><i class="nav-icon fa fa-medal"></i> @Localizer["Menu_Listings"]</a>
|
|
</li>
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.AdvertisementsManage, Permission.AdvertisementsRead)">
|
|
<a class="nav-link" href="@Url.Action("Index", "Advertisement")"><i class="nav-icon fa fa-tv"></i> @Localizer["Menu_Advertisements"]</a>
|
|
</li>
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.BannersManage, Permission.BannersRead)">
|
|
<a class="nav-link" href="@Url.Action("Index", "Banner")"><i class="nav-icon fa fa-panorama"></i> @Localizer["Menu_Banners"]</a>
|
|
</li>
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.VouchersManage, Permission.VouchersRead)">
|
|
<a class="nav-link" href="@Url.Action("IndexCampaigns", "Voucher")"><i class="nav-icon fa fa-qrcode"></i> @Localizer["Menu_VoucherCampaigns"]</a>
|
|
</li>
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.PinsManage, Permission.PinsRead)">
|
|
<a class="nav-link" href="@Url.Action("Index", "Pin")"><i class="nav-icon fa fa-map-pin"></i> @Localizer["Menu_Pins"]</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="nav-group" cb-permissions="@Tools.PermissionList(Permission.SettingsManage, Permission.SettingsTaxRates, Permission.SettingsProductCategories, Permission.SettingsProducts, Permission.SettingsShipment, Permission.SettingsShop)">
|
|
<a class="nav-link nav-group-toggle" href="#"><i class="nav-icon fa fa-cart-shopping"></i> @Localizer["Menu_Shop"]</a>
|
|
<ul class="nav-group-items">
|
|
<li class="nav-item ms-2" cb-permissions="@Tools.PermissionList(Permission.SettingsManage, Permission.SettingsTaxRates)">
|
|
<a class="nav-link" href="@Url.Action("Index", "TaxRate")"><i class="nav-icon fa fa-coins"></i> @Localizer["Menu_TaxRates"]</a>
|
|
</li>
|
|
<li class="nav-item ms-2" cb-permissions="@Tools.PermissionList(Permission.SettingsManage, Permission.SettingsShipment)">
|
|
<a class="nav-link" href="@Url.Action("Index", "ShipmentCost")"><i class="nav-icon fa fa-truck-fast"></i> @Localizer["Menu_ShipmentCosts"]</a>
|
|
</li>
|
|
<li class="nav-item ms-2" cb-permissions="@Tools.PermissionList(Permission.SettingsManage, Permission.SettingsShop)">
|
|
<a class="nav-link" href="@Url.Action("Index", "ShopSettings")"><i class="nav-icon fa fa-gears"></i> @Localizer["Menu_ShopSettings"]</a>
|
|
</li>
|
|
<li class="nav-item ms-2" cb-permissions="@Tools.PermissionList(Permission.SettingsManage, Permission.SettingsProducts)">
|
|
<a class="nav-link" href="@Url.Action("Index", "Product")"><i class="nav-icon fa fa-box"></i> @Localizer["Menu_Products"]</a>
|
|
</li>
|
|
<li class="nav-item ms-2" cb-permissions="@Tools.PermissionList(Permission.SettingsManage, Permission.SettingsProductCategories)">
|
|
<a class="nav-link" href="@Url.Action("IndexCategories", "Product")"><i class="nav-icon fa fa-box-open"></i> @Localizer["Menu_Product_Categories"]</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="nav-group" cb-permissions="@Tools.PermissionList(Permission.SettingsManage, Permission.SettingsCustomerTypes, Permission.SettingsCustomerBranches, Permission.SettingsAdvertisementCategories, Permission.SettingsDogRaces)">
|
|
<a class="nav-link nav-group-toggle" href="#"><i class="nav-icon fa fa-wrench"></i> @Localizer["Menu_Settings"]</a>
|
|
<ul class="nav-group-items">
|
|
<li class="nav-item ms-2" cb-permissions="@Tools.PermissionList(Permission.SettingsManage, Permission.SettingsCustomerTypes)">
|
|
<a class="nav-link" href="@Url.Action("Index", "CustomerType")"><i class="nav-icon fa fa-cash-register"></i> @Localizer["Menu_CustomerTypes"]</a>
|
|
</li>
|
|
<li class="nav-item ms-2" cb-permissions="@Tools.PermissionList(Permission.SettingsManage, Permission.SettingsCustomerBranches)">
|
|
<a class="nav-link" href="@Url.Action("Index", "Branch")"><i class="nav-icon fa fa-tags"></i> @Localizer["Menu_Branches"]</a>
|
|
</li>
|
|
<li class="nav-item ms-2" cb-permissions="@Tools.PermissionList(Permission.SettingsManage, Permission.SettingsAdvertisementCategories)">
|
|
<a class="nav-link" href="@Url.Action("IndexCategories", "Advertisement")"><i class="nav-icon fa fa-image"></i> @Localizer["Menu_Advertisement_Categories"]</a>
|
|
</li>
|
|
<li class="nav-item ms-2" cb-permissions="@Tools.PermissionList(Permission.SettingsManage, Permission.SettingsDogRaces)">
|
|
<a class="nav-link" href="@Url.Action("Index", "DogRace")"><i class="nav-icon fa fa-shield-dog"></i> @Localizer["Menu_DogRaces"]</a>
|
|
</li>
|
|
<li class="nav-item ms-2" cb-permissions="@Tools.PermissionList(Permission.SettingsManage, Permission.SettingsNewsCategories)">
|
|
<a class="nav-link" href="@Url.Action("IndexCategories", "News")"><i class="nav-icon fa fa-newspaper"></i> @Localizer["Menu_NewsCategories"]</a>
|
|
</li>
|
|
<li class="nav-item ms-2" cb-permissions="@Tools.PermissionList(Permission.SettingsManage, Permission.SettingsTransactionFees)">
|
|
<a class="nav-link" href="@Url.Action("Index", "TransactionFee")"><i class="nav-icon fa fa-coins"></i> @Localizer["Menu_TransactionFees"]</a>
|
|
</li>
|
|
<li class="nav-item ms-2" cb-permissions="@Tools.PermissionList(Permission.SettingsManage, Permission.SettingsTransactionFees)">
|
|
<a class="nav-link" href="@Url.Action("IndexGehGassi", "TransactionFee")"><i class="nav-icon fa fa-coins"></i> @Localizer["Menu_GehGassiFees"]</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="nav-group" cb-permissions="@Tools.PermissionList(Permission.UserManage, Permission.UserRead, Permission.SettingsManage, Permission.SettingsFileManager, Permission.SettingsPages, Permission.AppUsersManage, Permission.AppUsersSystemMessages, Permission.AppVersionsAccess)">
|
|
<a class="nav-link nav-group-toggle" href="#"><i class="nav-icon fa fa-star"></i> @Localizer["Menu_Special"]</a>
|
|
<ul class="nav-group-items">
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.UserManage, Permission.UserRead)">
|
|
<a class="nav-link" href="@Url.Action("Index", "User")"><i class="nav-icon fa fa-users-gear"></i> @Localizer["Menu_Users"]</a>
|
|
</li>
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.SettingsManage, Permission.SettingsFileManager)">
|
|
<a class="nav-link" href="@Url.Action("Index", "FileManager")"><i class="nav-icon fa fa-file-lines"></i> @Localizer["Menu_FileManager"]</a>
|
|
</li>
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.SettingsManage, Permission.SettingsPages)">
|
|
<a class="nav-link" href="@Url.Action("Index", "Page")"><i class="nav-icon fa fa-file-code"></i> @Localizer["Menu_Pages"]</a>
|
|
</li>
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.SettingsManage, Permission.SettingsPages)">
|
|
<a class="nav-link" href="@Url.Action("Index", "Faq")"><i class="nav-icon fa fa-question"></i> @Localizer["Menu_Faqs"]</a>
|
|
</li>
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.AppUsersManage, Permission.AppUsersSystemMessages)">
|
|
<a class="nav-link" href="@Url.Action("Index", "SystemMessage")"><i class="nav-icon fa fa-comments"></i> @Localizer["Menu_SystemMessages"]</a>
|
|
</li>
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.AppVersionsAccess)">
|
|
<a class="nav-link" href="@Url.Action("Index", "AppVersion")"><i class="nav-icon fa fa-code-fork"></i> @Localizer["Menu_AppVersions"]</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="nav-group" cb-permissions="@Tools.PermissionList(Permission.StatisticsManage)">
|
|
<a class="nav-link nav-group-toggle" href="#"><i class="nav-icon fa fa-chart-simple"></i> @Localizer["Menu_Statistics"]</a>
|
|
<ul class="nav-group-items">
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.StatisticsManage)">
|
|
<a class="nav-link" href="@Url.Action("WalksPerDay", "Statistic")"><i class="nav-icon fa fa-person-walking"></i> @Localizer["Menu_Statistics_WalkPerDay"]</a>
|
|
</li>
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.StatisticsManage)">
|
|
<a class="nav-link" href="@Url.Action("WalksPerTimeange", "Statistic")"><i class="nav-icon fa fa-person-walking"></i> @Localizer["Menu_Statistics_WalkPerTimeRange"]</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
|
|
if (numberOfRoles > 1)
|
|
{
|
|
@:</ul></li>
|
|
}
|
|
}
|
|
|
|
@if ((await AuthorizationService.AuthorizeAsync(User, Policies.CustomerOnly)).Succeeded && User.CustomerId() != null)
|
|
{
|
|
if (numberOfRoles > 1)
|
|
{
|
|
<text>
|
|
<li id="mnuCustomerLi" class="nav-group">
|
|
<a class="nav-link nav-group-toggle rootmenu" href="#"><i class="nav-icon fa fa-cash-register"></i> @User.CustomerName().Ellipsis(19)</a>
|
|
<ul id="mnuCustomerUl" class="nav-group-items">
|
|
</text>
|
|
}
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="@Url.Action("IndexCustomer", "Home")"><i class="nav-icon fa fa-gauge-simple-high"></i> @Localizer["Menu_Dashboard"]</a>
|
|
</li>
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.ListingsManage, Permission.ListingsRead)">
|
|
<a class="nav-link" href="@Url.Action("IndexCustomer", "Listing")"><i class="nav-icon fa fa-medal"></i> @Localizer["Menu_Listings"]</a>
|
|
</li>
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.AdvertisementsManage, Permission.AdvertisementsRead)">
|
|
<a class="nav-link" href="@Url.Action("IndexCustomer", "Advertisement")"><i class="nav-icon fa fa-tv"></i> @Localizer["Menu_Advertisements"]</a>
|
|
</li>
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.BannersManage, Permission.BannersRead)">
|
|
<a class="nav-link" href="@Url.Action("IndexCustomer", "Banner")"><i class="nav-icon fa fa-panorama"></i> @Localizer["Menu_Banners"]</a>
|
|
</li>
|
|
@* <li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.PinsManage, Permission.PinsRead)">
|
|
<a class="nav-link" href="@Url.Action("IndexCustomer", "Pin")"><i class="nav-icon fa fa-map-pin"></i> @Localizer["Menu_Pins"]</a>
|
|
</li> *@
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.ShopAccess)">
|
|
<a id="mnuCart" class="nav-link" href="@Url.Action("Index", "Shop")"><i class="nav-icon fa fa-store"></i> @Localizer["Menu_Shop"]</a>
|
|
</li>
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.ShopAccess)">
|
|
<a id="mnuCart" class="nav-link" href="@Url.Action("ShowCart", "Shop")"><i class="nav-icon fa fa-cart-shopping"></i> @Localizer["Menu_Cart"]</a>
|
|
</li>
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.OrdersAccess)">
|
|
<a class="nav-link" href="@Url.Action("IndexCustomer", "Order")"><i class="nav-icon fa fa-newspaper"></i> @Localizer["Menu_Orders"]</a>
|
|
</li>
|
|
<li class="nav-item" cb-permissions="@Tools.PermissionList(Permission.UserManage, Permission.UserRead)">
|
|
<a class="nav-link" href="@Url.Action("IndexCustomer", "User")"><i class="nav-icon fa fa-users-gear"></i> @Localizer["Menu_Users"]</a>
|
|
</li>
|
|
|
|
if (numberOfRoles > 1)
|
|
{
|
|
@:</ul></li>
|
|
}
|
|
}
|
|
|
|
@if ((await AuthorizationService.AuthorizeAsync(User, Policies.AppUserOnly)).Succeeded && User.AppUserId() != null)
|
|
{
|
|
if (numberOfRoles > 1)
|
|
{
|
|
<text>
|
|
<li class="nav-group">
|
|
<a class="nav-link nav-group-toggle rootmenu" href="#"><i class="nav-icon fa fa-dog"></i> @User.AppUserName().Ellipsis(19)</a>
|
|
<ul class="nav-group-items">
|
|
</text>
|
|
}
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="@Url.Action("IndexAppUser", "Home")"><i class="nav-icon fa fa-gauge-simple-high"></i> @Localizer["Menu_Dashboard"]</a>
|
|
</li>
|
|
|
|
|
|
if (numberOfRoles > 1)
|
|
{
|
|
@:</ul></li>
|
|
}
|
|
}
|
|
</ul> |