586 lines
26 KiB
C#
586 lines
26 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.Diagnostics.CodeAnalysis;
|
|
using System.Reflection;
|
|
|
|
namespace gehGassi.Permissions
|
|
{
|
|
/// <summary>
|
|
/// Auflistung aller verfügbaren Rechte für die Applikation
|
|
/// </summary>
|
|
public enum Permission
|
|
{
|
|
/// <summary>
|
|
/// Darf die Identität von Entitäten inkl. Mandanten annehmen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Special", Name = "Permission_ImpersionateAdmin", Description = "Permission_ImpersionateAdmin_Desc")]
|
|
ImpersionateAdmin = 0xF0,
|
|
/// <summary>
|
|
/// Zugriff auf den Shop
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser,Customer")]
|
|
[Display(GroupName = "Permission_Group_Special", Name = "Permission_Shop", Description = "Permission_Shop_Desc")]
|
|
ShopAccess = 0xF1,
|
|
/// <summary>
|
|
/// Zugriff auf Bestellungen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser,Customer")]
|
|
[Display(GroupName = "Permission_Group_Special", Name = "Permission_Orders", Description = "Permission_Orders_Desc")]
|
|
OrdersAccess = 0xF2,
|
|
/// <summary>
|
|
/// Zugriff auf Appversionen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Special", Name = "Permission_AppVersions", Description = "Permission_AppVersions_Desc")]
|
|
AppVersionsAccess = 0xF3,
|
|
|
|
/// <summary>
|
|
/// Vollzugriff Benutzerverwaltung
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser,Customer")]
|
|
[Display(GroupName = "Permission_Group_User", Name = "Permission_Manage", Description = "Permission_Manage_Desc")]
|
|
UserManage = 0x10,
|
|
/// <summary>
|
|
/// Benutzer auflisten
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser,Customer")]
|
|
[Display(GroupName = "Permission_Group_User", Name = "Permission_Read", Description = "Permission_Read_Desc")]
|
|
UserRead = 0x11,
|
|
/// <summary>
|
|
/// Benutzer anlegen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser,Customer")]
|
|
[Display(GroupName = "Permission_Group_User", Name = "Permission_Create", Description = "Permission_Create_Desc")]
|
|
UserCreate = 0x12,
|
|
/// <summary>
|
|
/// Benutzer bearbeiten
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser,Customer")]
|
|
[Display(GroupName = "Permission_Group_User", Name = "Permission_Edit", Description = "Permission_Edit_Desc")]
|
|
UserEdit = 0x13,
|
|
/// <summary>
|
|
/// Benutzer löschen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser,Customer")]
|
|
[Display(GroupName = "Permission_Group_User", Name = "Permission_Delete", Description = "Permission_Delete_Desc")]
|
|
UserDelete = 0x14,
|
|
|
|
|
|
/// <summary>
|
|
/// Vollzugriff Einstellungen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Settings", Name = "Permission_Manage", Description = "Permission_Manage_Desc")]
|
|
SettingsManage = 0x20,
|
|
/// <summary>
|
|
/// Zugriff Dateimanager
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Settings", Name = "Permission_Settings_FileManager", Description = "Permission_Settings_FileManager_Desc")]
|
|
SettingsFileManager = 0x21,
|
|
/// <summary>
|
|
/// Zugriff Kunden-Typen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Settings", Name = "Permission_Customer_Types", Description = "Permission_Customer_Types_Desc")]
|
|
SettingsCustomerTypes = 0x22,
|
|
/// <summary>
|
|
/// Zugriff Werbung Rubriken
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Settings", Name = "Permission_Advertisement_Categories", Description = "Permission_Advertisement_Categories_Desc")]
|
|
SettingsAdvertisementCategories = 0x23,
|
|
/// <summary>
|
|
/// Zugriff Branchen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Settings", Name = "Permission_Customer_Branches", Description = "Permission_Customer_Branches_Desc")]
|
|
SettingsCustomerBranches = 0x24,
|
|
/// <summary>
|
|
/// Zugriff Steuern
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Settings", Name = "Permission_TaxRates", Description = "Permission_TaxRates_Desc")]
|
|
SettingsTaxRates = 0x25,
|
|
/// <summary>
|
|
/// Zugriff Produktkategorien
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Settings", Name = "Permission_Product_Categories", Description = "Permission_Product_Categories_Desc")]
|
|
SettingsProductCategories = 0x26,
|
|
/// <summary>
|
|
/// Zugriff Produkte
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Settings", Name = "Permission_Product", Description = "Permission_Product_Desc")]
|
|
SettingsProducts = 0x27,
|
|
/// <summary>
|
|
/// Zugriff Versandkosten
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Settings", Name = "Permission_Shipment", Description = "Permission_Shipment_Desc")]
|
|
SettingsShipment = 0x28,
|
|
/// <summary>
|
|
/// Zugriff Shopeinstellungen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Settings", Name = "Permission_ShopSettings", Description = "Permission_ShopSettings_Desc")]
|
|
SettingsShop = 0x29,
|
|
/// <summary>
|
|
/// Zugriff Shopeinstellungen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Settings", Name = "Permission_SettingsDogRaces", Description = "Permission_SettingsDogRaces_Desc")]
|
|
SettingsDogRaces = 0x2A,
|
|
/// <summary>
|
|
/// Zugriff Newskategorien
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Settings", Name = "Permission_SettingsNewsCategories", Description = "Permission_SettingsNewsCategories_Desc")]
|
|
SettingsNewsCategories = 0x2B,
|
|
/// <summary>
|
|
/// Zugriff Text-Seiten
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Settings", Name = "Permission_SettingsPages", Description = "Permission_SettingsPages_Desc")]
|
|
SettingsPages = 0x2C,
|
|
/// <summary>
|
|
/// Zugriff Feedback
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Settings", Name = "Permission_SettingsFeedback", Description = "Permission_SettingsFeedback_Desc")]
|
|
SettingsFeedback = 0x2D,
|
|
/// <summary>
|
|
/// Zugriff Transaktionsgebühren
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Settings", Name = "Permission_SettingsTransactionFees", Description = "Permission_SettingsTransactionFees_Desc")]
|
|
SettingsTransactionFees = 0x2E,
|
|
/// <summary>
|
|
/// Zugriff Reklamationen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Settings", Name = "Permission_SettingsComplaints", Description = "Permission_SettingsComplaints_Desc")]
|
|
SettingsComplaints = 0x2F,
|
|
|
|
/// <summary>
|
|
/// Kunden Vollzugriff
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Customer", Name = "Permission_Manage", Description = "Permission_Manage_Desc")]
|
|
CustomersManage = 0x30,
|
|
/// <summary>
|
|
/// Kunden auflisten
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Customer", Name = "Permission_Read", Description = "Permission_Read_Desc")]
|
|
CustomersRead = 0x31,
|
|
/// <summary>
|
|
/// Kunden anlegen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Customer", Name = "Permission_Create", Description = "Permission_Create_Desc")]
|
|
CustomersCreate = 0x32,
|
|
/// <summary>
|
|
/// Kunden bearbeiten
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Customer", Name = "Permission_Edit", Description = "Permission_Edit_Desc")]
|
|
CustomersEdit = 0x33,
|
|
/// <summary>
|
|
/// Kunden löschen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Customer", Name = "Permission_Delete", Description = "Permission_Delete_Desc")]
|
|
CustomersDelete = 0x34,
|
|
|
|
|
|
/// <summary>
|
|
/// App-User Vollzugriff
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_AppUsers", Name = "Permission_Manage", Description = "Permission_Manage_Desc")]
|
|
AppUsersManage = 0x40,
|
|
/// <summary>
|
|
/// App-User auflisten
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_AppUsers", Name = "Permission_Read", Description = "Permission_Read_Desc")]
|
|
AppUsersRead = 0x41,
|
|
/// <summary>
|
|
/// App-User anlegen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_AppUsers", Name = "Permission_Create", Description = "Permission_Create_Desc")]
|
|
AppUsersCreate = 0x42,
|
|
/// <summary>
|
|
/// App-User bearbeiten
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_AppUsers", Name = "Permission_Edit", Description = "Permission_Edit_Desc")]
|
|
AppUsersEdit = 0x43,
|
|
/// <summary>
|
|
/// App-User löschen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_AppUsers", Name = "Permission_Delete", Description = "Permission_Delete_Desc")]
|
|
AppUsersDelete = 0x44,
|
|
/// <summary>
|
|
/// App-User löschen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_AppUsers", Name = "Permission_SystemMessages", Description = "Permission_SystemMessages_Desc")]
|
|
AppUsersSystemMessages = 0x45,
|
|
/// <summary>
|
|
/// App-User Reports
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_AppUsers", Name = "Permission_AppUserReports", Description = "Permission_AppUserReports_Desc")]
|
|
AppUserReports = 0x46,
|
|
|
|
/// <summary>
|
|
/// Gutscheine Vollzugriff
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser,Customer")]
|
|
[Display(GroupName = "Permission_Group_Voucher", Name = "Permission_Manage", Description = "Permission_Manage_Desc")]
|
|
VouchersManage = 0x50,
|
|
/// <summary>
|
|
/// Gutscheine auflisten
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser,Customer")]
|
|
[Display(GroupName = "Permission_Group_Voucher", Name = "Permission_Read", Description = "Permission_Read_Desc")]
|
|
VouchersRead = 0x51,
|
|
/// <summary>
|
|
/// Gutscheine anlegen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Voucher", Name = "Permission_Create", Description = "Permission_Create_Desc")]
|
|
VouchersCreate = 0x52,
|
|
/// <summary>
|
|
/// Gutscheine bearbeiten
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser,Customer")]
|
|
[Display(GroupName = "Permission_Group_Voucher", Name = "Permission_Edit", Description = "Permission_Edit_Desc")]
|
|
VouchersEdit = 0x53,
|
|
/// <summary>
|
|
/// Gutscheine löschen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Voucher", Name = "Permission_Delete", Description = "Permission_Delete_Desc")]
|
|
VouchersDelete = 0x54,
|
|
/// <summary>
|
|
/// Gutscheine stornieren
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser,Customer")]
|
|
[Display(GroupName = "Permission_Group_Voucher", Name = "Permission_Cancel", Description = "Permission_Cancel_Desc")]
|
|
VouchersCancel = 0x56,
|
|
|
|
/// <summary>
|
|
/// Listungen Vollzugriff
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser,Customer")]
|
|
[Display(GroupName = "Permission_Group_Listing", Name = "Permission_Manage", Description = "Permission_Manage_Desc")]
|
|
ListingsManage = 0x60,
|
|
/// <summary>
|
|
/// Listungen auflisten
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser,Customer")]
|
|
[Display(GroupName = "Permission_Group_Listing", Name = "Permission_Read", Description = "Permission_Read_Desc")]
|
|
ListingsRead = 0x61,
|
|
/// <summary>
|
|
/// Listungen anlegen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Listing", Name = "Permission_Create", Description = "Permission_Create_Desc")]
|
|
ListingsCreate = 0x62,
|
|
/// <summary>
|
|
/// Listungen bearbeiten
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser,Customer")]
|
|
[Display(GroupName = "Permission_Group_Listing", Name = "Permission_Edit", Description = "Permission_Edit_Desc")]
|
|
ListingsEdit = 0x63,
|
|
/// <summary>
|
|
/// Listungen löschen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Listing", Name = "Permission_Delete", Description = "Permission_Delete_Desc")]
|
|
ListingsDelete = 0x64,
|
|
/// <summary>
|
|
/// Listungen buchen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser,Customer")]
|
|
[Display(GroupName = "Permission_Group_Listing", Name = "Permission_Book", Description = "Permission_Book_Desc")]
|
|
ListingsBook = 0x65,
|
|
/// <summary>
|
|
/// Listungen stornieren
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser,Customer")]
|
|
[Display(GroupName = "Permission_Group_Listing", Name = "Permission_Cancel", Description = "Permission_Cancel_Desc")]
|
|
ListingsCancel = 0x66,
|
|
|
|
/// <summary>
|
|
/// Werbungen Vollzugriff
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser,Customer")]
|
|
[Display(GroupName = "Permission_Group_Advertisement", Name = "Permission_Manage", Description = "Permission_Manage_Desc")]
|
|
AdvertisementsManage = 0x70,
|
|
/// <summary>
|
|
/// Werbungen auflisten
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser,Customer")]
|
|
[Display(GroupName = "Permission_Group_Advertisement", Name = "Permission_Read", Description = "Permission_Read_Desc")]
|
|
AdvertisementsRead = 0x71,
|
|
/// <summary>
|
|
/// Werbungen anlegen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Advertisement", Name = "Permission_Create", Description = "Permission_Create_Desc")]
|
|
AdvertisementsCreate = 0x72,
|
|
/// <summary>
|
|
/// Werbungen bearbeiten
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser,Customer")]
|
|
[Display(GroupName = "Permission_Group_Advertisement", Name = "Permission_Edit", Description = "Permission_Edit_Desc")]
|
|
AdvertisementsEdit = 0x73,
|
|
/// <summary>
|
|
/// Werbungen löschen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Advertisement", Name = "Permission_Delete", Description = "Permission_Delete_Desc")]
|
|
AdvertisementsDelete = 0x74,
|
|
/// <summary>
|
|
/// Werbungen stornieren
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser,Customer")]
|
|
[Display(GroupName = "Permission_Group_Advertisement", Name = "Permission_Cancel", Description = "Permission_Cancel_Desc")]
|
|
AdvertisementsCancel = 0x76,
|
|
|
|
/// <summary>
|
|
/// Banner Vollzugriff
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser,Customer")]
|
|
[Display(GroupName = "Permission_Group_Banner", Name = "Permission_Manage", Description = "Permission_Manage_Desc")]
|
|
BannersManage = 0x80,
|
|
/// <summary>
|
|
/// Banner auflisten
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser,Customer")]
|
|
[Display(GroupName = "Permission_Group_Banner", Name = "Permission_Read", Description = "Permission_Read_Desc")]
|
|
BannersRead = 0x81,
|
|
/// <summary>
|
|
/// Banner anlegen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Banner", Name = "Permission_Create", Description = "Permission_Create_Desc")]
|
|
BannersCreate = 0x82,
|
|
/// <summary>
|
|
/// Banner bearbeiten
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser,Customer")]
|
|
[Display(GroupName = "Permission_Group_Banner", Name = "Permission_Edit", Description = "Permission_Edit_Desc")]
|
|
BannersEdit = 0x83,
|
|
/// <summary>
|
|
/// Banner löschen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Banner", Name = "Permission_Delete", Description = "Permission_Delete_Desc")]
|
|
BannersDelete = 0x84,
|
|
/// <summary>
|
|
/// Banner stornieren
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser,Customer")]
|
|
[Display(GroupName = "Permission_Group_Banner", Name = "Permission_Cancel", Description = "Permission_Cancel_Desc")]
|
|
BannersCancel = 0x86,
|
|
|
|
/// <summary>
|
|
/// Pin Vollzugriff
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser,Customer")]
|
|
[Display(GroupName = "Permission_Group_Pin", Name = "Permission_Manage", Description = "Permission_Manage_Desc")]
|
|
PinsManage = 0x90,
|
|
/// <summary>
|
|
/// Pin auflisten
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser,Customer")]
|
|
[Display(GroupName = "Permission_Group_Pin", Name = "Permission_Read", Description = "Permission_Read_Desc")]
|
|
PinsRead = 0x91,
|
|
/// <summary>
|
|
/// Pin anlegen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Pin", Name = "Permission_Create", Description = "Permission_Create_Desc")]
|
|
PinsCreate = 0x92,
|
|
/// <summary>
|
|
/// Pin bearbeiten
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser,Customer")]
|
|
[Display(GroupName = "Permission_Group_Pin", Name = "Permission_Edit", Description = "Permission_Edit_Desc")]
|
|
PinsEdit = 0x93,
|
|
/// <summary>
|
|
/// Pin löschen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Pin", Name = "Permission_Delete", Description = "Permission_Delete_Desc")]
|
|
PinsDelete = 0x94,
|
|
/// <summary>
|
|
/// Pin stornieren
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser,Customer")]
|
|
[Display(GroupName = "Permission_Group_Pin", Name = "Permission_Cancel", Description = "Permission_Cancel_Desc")]
|
|
PinsCancel = 0x96,
|
|
|
|
/// <summary>
|
|
/// Hunde Vollzugriff
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Dog", Name = "Permission_Manage", Description = "Permission_Manage_Desc")]
|
|
DogsManage = 0xA0,
|
|
/// <summary>
|
|
/// Hunde auflisten
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Dog", Name = "Permission_Read", Description = "Permission_Read_Desc")]
|
|
DogsRead = 0xA1,
|
|
/// <summary>
|
|
/// Hunde anlegen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Dog", Name = "Permission_Create", Description = "Permission_Create_Desc")]
|
|
DogsCreate = 0xA2,
|
|
/// <summary>
|
|
/// Hunde bearbeiten
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Dog", Name = "Permission_Edit", Description = "Permission_Edit_Desc")]
|
|
DogsEdit = 0xA3,
|
|
/// <summary>
|
|
/// Hunde löschen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Dog", Name = "Permission_Delete", Description = "Permission_Delete_Desc")]
|
|
DogsDelete = 0xA4,
|
|
|
|
/// <summary>
|
|
/// News Vollzugriff
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_News", Name = "Permission_Manage", Description = "Permission_Manage_Desc")]
|
|
NewsManage = 0xB0,
|
|
/// <summary>
|
|
/// News auflisten
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_News", Name = "Permission_Read", Description = "Permission_Read_Desc")]
|
|
NewsRead = 0xB1,
|
|
/// <summary>
|
|
/// News anlegen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_News", Name = "Permission_Create", Description = "Permission_Create_Desc")]
|
|
NewsCreate = 0xB2,
|
|
/// <summary>
|
|
/// News bearbeiten
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_News", Name = "Permission_Edit", Description = "Permission_Edit_Desc")]
|
|
NewsEdit = 0xB3,
|
|
/// <summary>
|
|
/// News löschen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_News", Name = "Permission_Delete", Description = "Permission_Delete_Desc")]
|
|
NewsDelete = 0xB4,
|
|
/// <summary>
|
|
/// News Freigabe
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_News", Name = "Permission_Approval", Description = "Permission_Approval_Desc")]
|
|
NewsApproval = 0xB5,
|
|
|
|
/// <summary>
|
|
/// Statistiken Vollzugriff
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Statistics", Name = "Permission_Manage", Description = "Permission_Manage_Desc")]
|
|
StatisticsManage = 0xC0,
|
|
|
|
/// <summary>
|
|
/// Abos Vollzugriff
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Subscriptions", Name = "Permission_Manage", Description = "Permission_Manage_Desc")]
|
|
SubscriptionsManage = 0xD0,
|
|
/// <summary>
|
|
/// Abos auflisten
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Subscriptions", Name = "Permission_Read", Description = "Permission_Read_Desc")]
|
|
SubscriptionsRead = 0xD1,
|
|
/// <summary>
|
|
/// Abos anlegen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Subscriptions", Name = "Permission_Create", Description = "Permission_Create_Desc")]
|
|
SubscriptionsCreate = 0xD2,
|
|
/// <summary>
|
|
/// Abos bearbeiten
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Subscriptions", Name = "Permission_Edit", Description = "Permission_Edit_Desc")]
|
|
SubscriptionsEdit = 0xD3,
|
|
/// <summary>
|
|
/// Abos löschen
|
|
/// </summary>
|
|
[PermissionRoles("Administrator,PowerUser")]
|
|
[Display(GroupName = "Permission_Group_Subscriptions", Name = "Permission_Delete", Description = "Permission_Delete_Desc")]
|
|
SubscriptionsDelete = 0xD4,
|
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// Hilfsattribut für die Zuordnung von Rollen zu Permissions
|
|
/// </summary>
|
|
public class PermissionRolesAttribute : Attribute
|
|
{
|
|
public string Roles { get; set; }
|
|
|
|
/// <summary>
|
|
/// Erstellt eine Instanz
|
|
/// </summary>
|
|
/// <param name="roles">Rollen für welche die Permission verfügbar ist</param>
|
|
public PermissionRolesAttribute(string roles)
|
|
{
|
|
Roles = roles;
|
|
}
|
|
}
|
|
|
|
[ExcludeFromCodeCoverage]
|
|
public static class PermissionHelper
|
|
{
|
|
public static List<Permission> GetForRole(string role)
|
|
{
|
|
var permissionType = typeof(Permission);
|
|
List<Permission> permissions = new List<Permission>();
|
|
|
|
foreach (var permissionName in Enum.GetNames(typeof(Permission)))
|
|
{
|
|
var member = permissionType.GetMember(permissionName);
|
|
var permissionRolesAttribute = member[0].GetCustomAttribute<PermissionRolesAttribute>();
|
|
if (permissionRolesAttribute == null)
|
|
continue;
|
|
|
|
if (permissionRolesAttribute.Roles.Contains(role))
|
|
{
|
|
var permissionItem = (Permission)Enum.Parse(permissionType, permissionName, false);
|
|
permissions.Add(permissionItem);
|
|
}
|
|
}
|
|
|
|
return permissions;
|
|
}
|
|
}
|
|
}
|