Menu ShortName sütunu

This commit is contained in:
Sedat Öztürk 2025-12-14 23:06:09 +03:00
parent 94eab3095b
commit d4e3ddb6f0
18 changed files with 1052 additions and 1012 deletions

View file

@ -13,6 +13,7 @@ public class MenuDto : FullAuditedEntityDto<Guid>
public string ParentCode { get; set; } public string ParentCode { get; set; }
public string CssClass { get; set; } public string CssClass { get; set; }
public string RequiredPermissionName { get; set; } public string RequiredPermissionName { get; set; }
public string ShortName { get; set; }
public string Target { get; set; } public string Target { get; set; }
public bool IsDisabled { get; set; } public bool IsDisabled { get; set; }

View file

@ -70,6 +70,7 @@ public class MenuSeedDto
public string Icon { get; set; } public string Icon { get; set; }
public string RequiredPermissionName { get; set; } public string RequiredPermissionName { get; set; }
public bool IsDisabled { get; set; } public bool IsDisabled { get; set; }
public string ShortName { get; set; }
} }
public class PermissionGroupDefinitionRecordSeedDto public class PermissionGroupDefinitionRecordSeedDto
@ -581,6 +582,7 @@ public class HostDataSeeder : IDataSeedContributor, ITransientDependency
Icon = item.Icon, Icon = item.Icon,
RequiredPermissionName = item.RequiredPermissionName, RequiredPermissionName = item.RequiredPermissionName,
IsDisabled = item.IsDisabled, IsDisabled = item.IsDisabled,
ShortName = item.ShortName
}); });
} }
} }

View file

@ -2196,7 +2196,7 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency
DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(), DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
PagerOptionJson = DefaultPagerOptionJson, PagerOptionJson = DefaultPagerOptionJson,
TreeOptionJson = DefaultTreeOptionJson("Code", "ParentCode", true), TreeOptionJson = DefaultTreeOptionJson("Code", "ParentCode", true),
EditingOptionJson = DefaultEditingOptionJson(listFormName, 600, 600, true, true, true, true, false), EditingOptionJson = DefaultEditingOptionJson(listFormName, 600, 450, true, true, true, true, false),
EditingFormJson = JsonSerializer.Serialize(new List<EditingFormDto>() { EditingFormJson = JsonSerializer.Serialize(new List<EditingFormDto>() {
new() { Order=1, ColCount=1, ColSpan=1, ItemType="group", Items= new() { Order=1, ColCount=1, ColSpan=1, ItemType="group", Items=
[ [
@ -2211,6 +2211,7 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency
new EditingFormItemDto { Order = 9, DataField = "Target", ColSpan = 1, EditorType2=EditorTypes.dxTextBox }, new EditingFormItemDto { Order = 9, DataField = "Target", ColSpan = 1, EditorType2=EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 10, DataField = "IsDisabled", ColSpan = 1, EditorType2=EditorTypes.dxCheckBox }, new EditingFormItemDto { Order = 10, DataField = "IsDisabled", ColSpan = 1, EditorType2=EditorTypes.dxCheckBox },
new EditingFormItemDto { Order = 11, DataField = "ElementId", ColSpan = 1, EditorType2=EditorTypes.dxTextBox }, new EditingFormItemDto { Order = 11, DataField = "ElementId", ColSpan = 1, EditorType2=EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 12, DataField = "ShortName", ColSpan = 1, EditorType2=EditorTypes.dxTextBox },
]} ]}
}), }),
InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(), InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
@ -2434,6 +2435,22 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency
PermissionJson = DefaultFieldPermissionJson(listForm.Name), PermissionJson = DefaultFieldPermissionJson(listForm.Name),
PivotSettingsJson = DefaultPivotSettingsJson PivotSettingsJson = DefaultPivotSettingsJson
}, },
new ListFormField
{
ListFormCode = listForm.ListFormCode,
CultureName = LanguageCodes.En,
SourceDbType = DbType.String,
FieldName = "ShortName",
Width = 100,
ListOrderNo = 13,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
ColumnCustomizationJson = DefaultColumnCustomizationJson,
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
PivotSettingsJson = DefaultPivotSettingsJson
},
]); ]);
#endregion #endregion

View file

@ -192,12 +192,13 @@ public class ListFormSeeder_SupplyChain : IDataSeedContributor, ITransientDepend
IsOrganizationUnit = false, IsOrganizationUnit = false,
Description = listFormName, Description = listFormName,
SelectCommandType = SelectCommandTypeEnum.Table, SelectCommandType = SelectCommandTypeEnum.Table,
SelectCommand = TableNameResolver.GetFullViewName(nameof(TableNameEnum.MaterialGroup)), SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.MaterialGroup)),
KeyFieldName = "Id", KeyFieldName = "Id",
KeyFieldDbSourceType = DbType.Guid, KeyFieldDbSourceType = DbType.Guid,
DefaultFilter = DefaultFilterJson, DefaultFilter = DefaultFilterJson,
SortMode = GridOptions.SortModeSingle, SortMode = GridOptions.SortModeSingle,
FilterRowJson = DefaultFilterRowJson, FilterRowJson = DefaultFilterRowJson,
TreeOptionJson = DefaultTreeOptionJson("Id", "ParentGroupId", true),
HeaderFilterJson = DefaultHeaderFilterJson, HeaderFilterJson = DefaultHeaderFilterJson,
SearchPanelJson = DefaultSearchPanelJson, SearchPanelJson = DefaultSearchPanelJson,
GroupPanelJson = DefaultGroupPanelJson, GroupPanelJson = DefaultGroupPanelJson,
@ -302,23 +303,23 @@ public class ListFormSeeder_SupplyChain : IDataSeedContributor, ITransientDepend
PermissionJson = DefaultFieldPermissionJson(listForm.Name), PermissionJson = DefaultFieldPermissionJson(listForm.Name),
PivotSettingsJson = DefaultPivotSettingsJson PivotSettingsJson = DefaultPivotSettingsJson
}, },
new() { // new() {
ListFormCode = listForm.ListFormCode, // ListFormCode = listForm.ListFormCode,
CultureName = LanguageCodes.En, // CultureName = LanguageCodes.En,
SourceDbType = DbType.String, // SourceDbType = DbType.String,
FieldName = "HierarchyPath", // FieldName = "HierarchyPath",
Width = 500, // Width = 500,
ListOrderNo = 7, // ListOrderNo = 7,
Visible = true, // Visible = true,
IsActive = true, // IsActive = true,
IsDeleted = false, // IsDeleted = false,
AllowSearch = true, // AllowSearch = true,
SortIndex = 1, // SortIndex = 1,
SortDirection = GridColumnOptions.SortOrderAsc, // SortDirection = GridColumnOptions.SortOrderAsc,
ColumnCustomizationJson = DefaultColumnCustomizationJson, // ColumnCustomizationJson = DefaultColumnCustomizationJson,
PermissionJson = DefaultFieldPermissionJson(listForm.Name), // PermissionJson = DefaultFieldPermissionJson(listForm.Name),
PivotSettingsJson = DefaultPivotSettingsJson, // PivotSettingsJson = DefaultPivotSettingsJson,
} // }
}); });
#endregion #endregion
} }

View file

@ -461,21 +461,23 @@
"ParentCode": null, "ParentCode": null,
"Code": "App.Platform", "Code": "App.Platform",
"DisplayName": "App.Platform", "DisplayName": "App.Platform",
"Order": 100000, "Order": 10000,
"Url": null, "Url": null,
"Icon": "FcTabletAndroid", "Icon": "FcTabletAndroid",
"RequiredPermissionName": null, "RequiredPermissionName": null,
"IsDisabled": false "IsDisabled": false,
"ShortName": "Plat"
}, },
{ {
"ParentCode": null, "ParentCode": null,
"Code": "App.Saas", "Code": "App.Saas",
"DisplayName": "App.Saas", "DisplayName": "App.Saas",
"Order": 200, "Order": 100,
"Url": null, "Url": null,
"Icon": "FcPodiumWithAudience", "Icon": "FcPodiumWithAudience",
"RequiredPermissionName": null, "RequiredPermissionName": null,
"IsDisabled": false "IsDisabled": false,
"ShortName": "Sas"
}, },
{ {
"ParentCode": "App.Saas", "ParentCode": "App.Saas",
@ -701,11 +703,12 @@
"ParentCode": null, "ParentCode": null,
"Code": "App.Administration", "Code": "App.Administration",
"DisplayName": "App.Administration", "DisplayName": "App.Administration",
"Order": 300, "Order": 200,
"Url": null, "Url": null,
"Icon": "FcOrganization", "Icon": "FcOrganization",
"RequiredPermissionName": null, "RequiredPermissionName": null,
"IsDisabled": false "IsDisabled": false,
"ShortName": "Adm"
}, },
{ {
"ParentCode": "App.Administration", "ParentCode": "App.Administration",
@ -1361,11 +1364,12 @@
"ParentCode": null, "ParentCode": null,
"Code": "App.Participant", "Code": "App.Participant",
"DisplayName": "App.Participant", "DisplayName": "App.Participant",
"Order": 500, "Order": 300,
"Url": null, "Url": null,
"Icon": "FcBusinessman", "Icon": "FcBusinessman",
"RequiredPermissionName": null, "RequiredPermissionName": null,
"IsDisabled": false "IsDisabled": false,
"ShortName": "Prt"
}, },
{ {
"ParentCode": "App.Participant", "ParentCode": "App.Participant",
@ -1441,11 +1445,12 @@
"ParentCode": null, "ParentCode": null,
"Code": "App.Coordinator", "Code": "App.Coordinator",
"DisplayName": "App.Coordinator", "DisplayName": "App.Coordinator",
"Order": 600, "Order": 400,
"Url": null, "Url": null,
"Icon": "FcCollaboration", "Icon": "FcCollaboration",
"RequiredPermissionName": null, "RequiredPermissionName": null,
"IsDisabled": false "IsDisabled": false,
"ShortName": "Crd"
}, },
{ {
"ParentCode": "App.Coordinator", "ParentCode": "App.Coordinator",
@ -1621,11 +1626,12 @@
"ParentCode": null, "ParentCode": null,
"Code": "App.Crm", "Code": "App.Crm",
"DisplayName": "App.Crm", "DisplayName": "App.Crm",
"Order": 700, "Order": 500,
"Url": null, "Url": null,
"Icon": "FcContacts", "Icon": "FcContacts",
"RequiredPermissionName": null, "RequiredPermissionName": null,
"IsDisabled": false "IsDisabled": false,
"ShortName": "Crm"
}, },
{ {
"ParentCode": "App.Crm", "ParentCode": "App.Crm",
@ -1721,11 +1727,12 @@
"ParentCode": null, "ParentCode": null,
"Code": "App.SupplyChain", "Code": "App.SupplyChain",
"DisplayName": "App.SupplyChain", "DisplayName": "App.SupplyChain",
"Order": 800, "Order": 600,
"Url": null, "Url": null,
"Icon": "FcProcess", "Icon": "FcProcess",
"RequiredPermissionName": null, "RequiredPermissionName": null,
"IsDisabled": false "IsDisabled": false,
"ShortName": "Scp"
}, },
{ {
"ParentCode": "App.SupplyChain", "ParentCode": "App.SupplyChain",
@ -1891,11 +1898,12 @@
"ParentCode": null, "ParentCode": null,
"Code": "App.Maintenance", "Code": "App.Maintenance",
"DisplayName": "App.Maintenance", "DisplayName": "App.Maintenance",
"Order": 900, "Order": 700,
"Url": null, "Url": null,
"Icon": "FcFactory", "Icon": "FcFactory",
"RequiredPermissionName": null, "RequiredPermissionName": null,
"IsDisabled": false "IsDisabled": false,
"ShortName": "Mnt"
}, },
{ {
"ParentCode": "App.Maintenance", "ParentCode": "App.Maintenance",
@ -2021,11 +2029,12 @@
"ParentCode": null, "ParentCode": null,
"Code": "App.Store", "Code": "App.Store",
"DisplayName": "App.Store", "DisplayName": "App.Store",
"Order": 1000, "Order": 800,
"Url": null, "Url": null,
"Icon": "FcOpenedFolder", "Icon": "FcOpenedFolder",
"RequiredPermissionName": null, "RequiredPermissionName": null,
"IsDisabled": false "IsDisabled": false,
"ShortName": "Str"
}, },
{ {
"ParentCode": "App.Store", "ParentCode": "App.Store",
@ -2181,11 +2190,12 @@
"ParentCode": null, "ParentCode": null,
"Code": "App.Project", "Code": "App.Project",
"DisplayName": "App.Project", "DisplayName": "App.Project",
"Order": 1100, "Order": 900,
"Url": null, "Url": null,
"Icon": "FcTimeline", "Icon": "FcTimeline",
"RequiredPermissionName": null, "RequiredPermissionName": null,
"IsDisabled": false "IsDisabled": false,
"ShortName": "Prj"
}, },
{ {
"ParentCode": "App.Project", "ParentCode": "App.Project",
@ -2311,11 +2321,12 @@
"ParentCode": null, "ParentCode": null,
"Code": "App.Hr", "Code": "App.Hr",
"DisplayName": "App.Hr", "DisplayName": "App.Hr",
"Order": 1200, "Order": 1000,
"Url": null, "Url": null,
"Icon": "FcManager", "Icon": "FcManager",
"RequiredPermissionName": null, "RequiredPermissionName": null,
"IsDisabled": false "IsDisabled": false,
"ShortName": "Hr"
}, },
{ {
"ParentCode": "App.Hr", "ParentCode": "App.Hr",
@ -2471,11 +2482,12 @@
"ParentCode": null, "ParentCode": null,
"Code": "App.Mrp", "Code": "App.Mrp",
"DisplayName": "App.Mrp", "DisplayName": "App.Mrp",
"Order": 1300, "Order": 1100,
"Url": null, "Url": null,
"Icon": "FcServices", "Icon": "FcServices",
"RequiredPermissionName": null, "RequiredPermissionName": null,
"IsDisabled": false "IsDisabled": false,
"ShortName": "Mrp"
}, },
{ {
"ParentCode": "App.Mrp", "ParentCode": "App.Mrp",
@ -2621,11 +2633,12 @@
"ParentCode": null, "ParentCode": null,
"Code": "App.Accounting", "Code": "App.Accounting",
"DisplayName": "App.Accounting", "DisplayName": "App.Accounting",
"Order": 1400, "Order": 1200,
"Url": null, "Url": null,
"Icon": "FcMoneyTransfer", "Icon": "FcMoneyTransfer",
"RequiredPermissionName": null, "RequiredPermissionName": null,
"IsDisabled": false "IsDisabled": false,
"ShortName": "Acc"
}, },
{ {
"ParentCode": "App.Accounting", "ParentCode": "App.Accounting",

View file

@ -8,10 +8,6 @@
"Name": "App.Administration", "Name": "App.Administration",
"DisplayName": "App.Administration" "DisplayName": "App.Administration"
}, },
{
"Name": "App.Intranet",
"DisplayName": "App.Intranet"
},
{ {
"Name": "App.Participant", "Name": "App.Participant",
"DisplayName": "App.Participant" "DisplayName": "App.Participant"
@ -1564,7 +1560,7 @@
{ {
"GroupName": "App.Administration", "GroupName": "App.Administration",
"Name": "App.SiteManagement", "Name": "App.SiteManagement",
"ParentName": null, "ParentName": "App.Setting",
"DisplayName": "App.SiteManagement", "DisplayName": "App.SiteManagement",
"IsEnabled": true, "IsEnabled": true,
"MultiTenancySide": 3, "MultiTenancySide": 3,
@ -1600,7 +1596,7 @@
{ {
"GroupName": "App.Administration", "GroupName": "App.Administration",
"Name": "App.Sender", "Name": "App.Sender",
"ParentName": null, "ParentName": "App.Setting",
"DisplayName": "App.Sender", "DisplayName": "App.Sender",
"IsEnabled": true, "IsEnabled": true,
"MultiTenancySide": 3, "MultiTenancySide": 3,
@ -1645,21 +1641,12 @@
{ {
"GroupName": "App.Administration", "GroupName": "App.Administration",
"Name": "Abp.Mailing", "Name": "Abp.Mailing",
"ParentName": null, "ParentName": "App.Setting",
"DisplayName": "Abp.Mailing", "DisplayName": "Abp.Mailing",
"IsEnabled": true, "IsEnabled": true,
"MultiTenancySide": 3, "MultiTenancySide": 3,
"MenuGroup": "Erp|Kurs" "MenuGroup": "Erp|Kurs"
}, },
{
"GroupName": "App.Administration",
"Name": "Abp.Mailing.Smtp",
"ParentName": "Abp.Mailing",
"DisplayName": "Abp.Mailing.Smtp",
"IsEnabled": true,
"MultiTenancySide": 3,
"MenuGroup": "Erp|Kurs"
},
{ {
"GroupName": "App.Administration", "GroupName": "App.Administration",
"Name": "Abp.Mailing.Default", "Name": "Abp.Mailing.Default",
@ -1669,6 +1656,15 @@
"MultiTenancySide": 3, "MultiTenancySide": 3,
"MenuGroup": "Erp|Kurs" "MenuGroup": "Erp|Kurs"
}, },
{
"GroupName": "App.Administration",
"Name": "Abp.Mailing.Smtp",
"ParentName": "Abp.Mailing",
"DisplayName": "Abp.Mailing.Smtp",
"IsEnabled": true,
"MultiTenancySide": 3,
"MenuGroup": "Erp|Kurs"
},
{ {
"GroupName": "App.Administration", "GroupName": "App.Administration",
"Name": "Abp.Mailing.AWS", "Name": "Abp.Mailing.AWS",
@ -1681,7 +1677,7 @@
{ {
"GroupName": "App.Administration", "GroupName": "App.Administration",
"Name": "Abp.Account", "Name": "Abp.Account",
"ParentName": null, "ParentName": "App.Setting",
"DisplayName": "Abp.Account", "DisplayName": "Abp.Account",
"IsEnabled": true, "IsEnabled": true,
"MultiTenancySide": 3, "MultiTenancySide": 3,
@ -1717,7 +1713,7 @@
{ {
"GroupName": "App.Administration", "GroupName": "App.Administration",
"Name": "Abp.Identity", "Name": "Abp.Identity",
"ParentName": null, "ParentName": "App.Setting",
"DisplayName": "Abp.Identity", "DisplayName": "Abp.Identity",
"IsEnabled": true, "IsEnabled": true,
"MultiTenancySide": 3, "MultiTenancySide": 3,
@ -1741,15 +1737,6 @@
"MultiTenancySide": 3, "MultiTenancySide": 3,
"MenuGroup": "Erp|Kurs" "MenuGroup": "Erp|Kurs"
}, },
{
"GroupName": "App.Administration",
"Name": "Abp.Identity.Lockout",
"ParentName": "Abp.Identity",
"DisplayName": "Abp.Identity.Lockout",
"IsEnabled": true,
"MultiTenancySide": 3,
"MenuGroup": "Erp|Kurs"
},
{ {
"GroupName": "App.Administration", "GroupName": "App.Administration",
"Name": "Abp.Identity.SignIn", "Name": "Abp.Identity.SignIn",
@ -1759,6 +1746,15 @@
"MultiTenancySide": 2, "MultiTenancySide": 2,
"MenuGroup": "Erp|Kurs" "MenuGroup": "Erp|Kurs"
}, },
{
"GroupName": "App.Administration",
"Name": "Abp.Identity.Lockout",
"ParentName": "Abp.Identity",
"DisplayName": "Abp.Identity.Lockout",
"IsEnabled": true,
"MultiTenancySide": 3,
"MenuGroup": "Erp|Kurs"
},
{ {
"GroupName": "App.Administration", "GroupName": "App.Administration",
"Name": "Abp.Identity.User", "Name": "Abp.Identity.User",
@ -10787,7 +10783,7 @@
"MenuGroup": "Erp" "MenuGroup": "Erp"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Events.EventType", "Name": "App.Intranet.Events.EventType",
"ParentName": null, "ParentName": null,
"DisplayName": "App.Intranet.Events.EventType", "DisplayName": "App.Intranet.Events.EventType",
@ -10796,7 +10792,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Events.EventType.Create", "Name": "App.Intranet.Events.EventType.Create",
"ParentName": "App.Intranet.Events.EventType", "ParentName": "App.Intranet.Events.EventType",
"DisplayName": "Create", "DisplayName": "Create",
@ -10805,7 +10801,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Events.EventType.Update", "Name": "App.Intranet.Events.EventType.Update",
"ParentName": "App.Intranet.Events.EventType", "ParentName": "App.Intranet.Events.EventType",
"DisplayName": "Update", "DisplayName": "Update",
@ -10814,7 +10810,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Events.EventType.Delete", "Name": "App.Intranet.Events.EventType.Delete",
"ParentName": "App.Intranet.Events.EventType", "ParentName": "App.Intranet.Events.EventType",
"DisplayName": "Delete", "DisplayName": "Delete",
@ -10823,7 +10819,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Events.EventType.Export", "Name": "App.Intranet.Events.EventType.Export",
"ParentName": "App.Intranet.Events.EventType", "ParentName": "App.Intranet.Events.EventType",
"DisplayName": "Export", "DisplayName": "Export",
@ -10832,7 +10828,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Events.EventType.Import", "Name": "App.Intranet.Events.EventType.Import",
"ParentName": "App.Intranet.Events.EventType", "ParentName": "App.Intranet.Events.EventType",
"DisplayName": "Import", "DisplayName": "Import",
@ -10841,7 +10837,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Events.EventType.Note", "Name": "App.Intranet.Events.EventType.Note",
"ParentName": "App.Intranet.Events.EventType", "ParentName": "App.Intranet.Events.EventType",
"DisplayName": "Note", "DisplayName": "Note",
@ -10850,7 +10846,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Events.EventCategory", "Name": "App.Intranet.Events.EventCategory",
"ParentName": null, "ParentName": null,
"DisplayName": "App.Intranet.Events.EventCategory", "DisplayName": "App.Intranet.Events.EventCategory",
@ -10859,7 +10855,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Events.EventCategory.Create", "Name": "App.Intranet.Events.EventCategory.Create",
"ParentName": "App.Intranet.Events.EventCategory", "ParentName": "App.Intranet.Events.EventCategory",
"DisplayName": "Create", "DisplayName": "Create",
@ -10868,7 +10864,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Events.EventCategory.Update", "Name": "App.Intranet.Events.EventCategory.Update",
"ParentName": "App.Intranet.Events.EventCategory", "ParentName": "App.Intranet.Events.EventCategory",
"DisplayName": "Update", "DisplayName": "Update",
@ -10877,7 +10873,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Events.EventCategory.Delete", "Name": "App.Intranet.Events.EventCategory.Delete",
"ParentName": "App.Intranet.Events.EventCategory", "ParentName": "App.Intranet.Events.EventCategory",
"DisplayName": "Delete", "DisplayName": "Delete",
@ -10886,7 +10882,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Events.EventCategory.Export", "Name": "App.Intranet.Events.EventCategory.Export",
"ParentName": "App.Intranet.Events.EventCategory", "ParentName": "App.Intranet.Events.EventCategory",
"DisplayName": "Export", "DisplayName": "Export",
@ -10895,7 +10891,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Events.EventCategory.Import", "Name": "App.Intranet.Events.EventCategory.Import",
"ParentName": "App.Intranet.Events.EventCategory", "ParentName": "App.Intranet.Events.EventCategory",
"DisplayName": "Import", "DisplayName": "Import",
@ -10904,7 +10900,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Events.EventCategory.Note", "Name": "App.Intranet.Events.EventCategory.Note",
"ParentName": "App.Intranet.Events.EventCategory", "ParentName": "App.Intranet.Events.EventCategory",
"DisplayName": "Note", "DisplayName": "Note",
@ -10913,7 +10909,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Events.Event", "Name": "App.Intranet.Events.Event",
"ParentName": null, "ParentName": null,
"DisplayName": "App.Intranet.Events.Event", "DisplayName": "App.Intranet.Events.Event",
@ -10922,7 +10918,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Events.Event.Create", "Name": "App.Intranet.Events.Event.Create",
"ParentName": "App.Intranet.Events.Event", "ParentName": "App.Intranet.Events.Event",
"DisplayName": "Create", "DisplayName": "Create",
@ -10931,7 +10927,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Events.Event.Update", "Name": "App.Intranet.Events.Event.Update",
"ParentName": "App.Intranet.Events.Event", "ParentName": "App.Intranet.Events.Event",
"DisplayName": "Update", "DisplayName": "Update",
@ -10940,7 +10936,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Events.Event.Delete", "Name": "App.Intranet.Events.Event.Delete",
"ParentName": "App.Intranet.Events.Event", "ParentName": "App.Intranet.Events.Event",
"DisplayName": "Delete", "DisplayName": "Delete",
@ -10949,7 +10945,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Events.Event.Export", "Name": "App.Intranet.Events.Event.Export",
"ParentName": "App.Intranet.Events.Event", "ParentName": "App.Intranet.Events.Event",
"DisplayName": "Export", "DisplayName": "Export",
@ -10958,7 +10954,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Events.Event.Import", "Name": "App.Intranet.Events.Event.Import",
"ParentName": "App.Intranet.Events.Event", "ParentName": "App.Intranet.Events.Event",
"DisplayName": "Import", "DisplayName": "Import",
@ -10967,7 +10963,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Events.Event.Note", "Name": "App.Intranet.Events.Event.Note",
"ParentName": "App.Intranet.Events.Event", "ParentName": "App.Intranet.Events.Event",
"DisplayName": "Note", "DisplayName": "Note",
@ -10976,7 +10972,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Events.Event.Widget", "Name": "App.Intranet.Events.Event.Widget",
"ParentName": "App.Intranet.Events.Event", "ParentName": "App.Intranet.Events.Event",
"DisplayName": "Widget", "DisplayName": "Widget",
@ -10985,7 +10981,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Meal", "Name": "App.Intranet.Meal",
"ParentName": null, "ParentName": null,
"DisplayName": "App.Intranet.Meal", "DisplayName": "App.Intranet.Meal",
@ -10994,7 +10990,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Meal.Create", "Name": "App.Intranet.Meal.Create",
"ParentName": "App.Intranet.Meal", "ParentName": "App.Intranet.Meal",
"DisplayName": "Create", "DisplayName": "Create",
@ -11003,7 +10999,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Meal.Update", "Name": "App.Intranet.Meal.Update",
"ParentName": "App.Intranet.Meal", "ParentName": "App.Intranet.Meal",
"DisplayName": "Update", "DisplayName": "Update",
@ -11012,7 +11008,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Meal.Delete", "Name": "App.Intranet.Meal.Delete",
"ParentName": "App.Intranet.Meal", "ParentName": "App.Intranet.Meal",
"DisplayName": "Delete", "DisplayName": "Delete",
@ -11021,7 +11017,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Meal.Export", "Name": "App.Intranet.Meal.Export",
"ParentName": "App.Intranet.Meal", "ParentName": "App.Intranet.Meal",
"DisplayName": "Export", "DisplayName": "Export",
@ -11030,7 +11026,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Meal.Import", "Name": "App.Intranet.Meal.Import",
"ParentName": "App.Intranet.Meal", "ParentName": "App.Intranet.Meal",
"DisplayName": "Import", "DisplayName": "Import",
@ -11039,7 +11035,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Meal.Note", "Name": "App.Intranet.Meal.Note",
"ParentName": "App.Intranet.Meal", "ParentName": "App.Intranet.Meal",
"DisplayName": "Note", "DisplayName": "Note",
@ -11048,7 +11044,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Meal.Widget", "Name": "App.Intranet.Meal.Widget",
"ParentName": "App.Intranet.Meal", "ParentName": "App.Intranet.Meal",
"DisplayName": "Widget", "DisplayName": "Widget",
@ -11057,7 +11053,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Reservation", "Name": "App.Intranet.Reservation",
"ParentName": null, "ParentName": null,
"DisplayName": "App.Intranet.Reservation", "DisplayName": "App.Intranet.Reservation",
@ -11066,7 +11062,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Reservation.Create", "Name": "App.Intranet.Reservation.Create",
"ParentName": "App.Intranet.Reservation", "ParentName": "App.Intranet.Reservation",
"DisplayName": "Create", "DisplayName": "Create",
@ -11075,7 +11071,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Reservation.Update", "Name": "App.Intranet.Reservation.Update",
"ParentName": "App.Intranet.Reservation", "ParentName": "App.Intranet.Reservation",
"DisplayName": "Update", "DisplayName": "Update",
@ -11084,7 +11080,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Reservation.Delete", "Name": "App.Intranet.Reservation.Delete",
"ParentName": "App.Intranet.Reservation", "ParentName": "App.Intranet.Reservation",
"DisplayName": "Delete", "DisplayName": "Delete",
@ -11093,7 +11089,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Reservation.Export", "Name": "App.Intranet.Reservation.Export",
"ParentName": "App.Intranet.Reservation", "ParentName": "App.Intranet.Reservation",
"DisplayName": "Export", "DisplayName": "Export",
@ -11102,7 +11098,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Reservation.Import", "Name": "App.Intranet.Reservation.Import",
"ParentName": "App.Intranet.Reservation", "ParentName": "App.Intranet.Reservation",
"DisplayName": "Import", "DisplayName": "Import",
@ -11111,7 +11107,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Reservation.Note", "Name": "App.Intranet.Reservation.Note",
"ParentName": "App.Intranet.Reservation", "ParentName": "App.Intranet.Reservation",
"DisplayName": "Note", "DisplayName": "Note",
@ -11120,7 +11116,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Reservation.Widget", "Name": "App.Intranet.Reservation.Widget",
"ParentName": "App.Intranet.Reservation", "ParentName": "App.Intranet.Reservation",
"DisplayName": "Widget", "DisplayName": "Widget",
@ -11129,7 +11125,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.ShuttleRoute", "Name": "App.Intranet.ShuttleRoute",
"ParentName": null, "ParentName": null,
"DisplayName": "App.Intranet.ShuttleRoute", "DisplayName": "App.Intranet.ShuttleRoute",
@ -11138,7 +11134,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.ShuttleRoute.Create", "Name": "App.Intranet.ShuttleRoute.Create",
"ParentName": "App.Intranet.ShuttleRoute", "ParentName": "App.Intranet.ShuttleRoute",
"DisplayName": "Create", "DisplayName": "Create",
@ -11147,7 +11143,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.ShuttleRoute.Update", "Name": "App.Intranet.ShuttleRoute.Update",
"ParentName": "App.Intranet.ShuttleRoute", "ParentName": "App.Intranet.ShuttleRoute",
"DisplayName": "Update", "DisplayName": "Update",
@ -11156,7 +11152,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.ShuttleRoute.Delete", "Name": "App.Intranet.ShuttleRoute.Delete",
"ParentName": "App.Intranet.ShuttleRoute", "ParentName": "App.Intranet.ShuttleRoute",
"DisplayName": "Delete", "DisplayName": "Delete",
@ -11165,7 +11161,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.ShuttleRoute.Export", "Name": "App.Intranet.ShuttleRoute.Export",
"ParentName": "App.Intranet.ShuttleRoute", "ParentName": "App.Intranet.ShuttleRoute",
"DisplayName": "Export", "DisplayName": "Export",
@ -11174,7 +11170,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.ShuttleRoute.Import", "Name": "App.Intranet.ShuttleRoute.Import",
"ParentName": "App.Intranet.ShuttleRoute", "ParentName": "App.Intranet.ShuttleRoute",
"DisplayName": "Import", "DisplayName": "Import",
@ -11183,7 +11179,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.ShuttleRoute.Note", "Name": "App.Intranet.ShuttleRoute.Note",
"ParentName": "App.Intranet.ShuttleRoute", "ParentName": "App.Intranet.ShuttleRoute",
"DisplayName": "Note", "DisplayName": "Note",
@ -11192,7 +11188,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.ShuttleRoute.Widget", "Name": "App.Intranet.ShuttleRoute.Widget",
"ParentName": "App.Intranet.ShuttleRoute", "ParentName": "App.Intranet.ShuttleRoute",
"DisplayName": "Widget", "DisplayName": "Widget",
@ -11201,7 +11197,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Announcement", "Name": "App.Intranet.Announcement",
"ParentName": null, "ParentName": null,
"DisplayName": "App.Intranet.Announcement", "DisplayName": "App.Intranet.Announcement",
@ -11210,7 +11206,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Announcement.Create", "Name": "App.Intranet.Announcement.Create",
"ParentName": "App.Intranet.Announcement", "ParentName": "App.Intranet.Announcement",
"DisplayName": "Create", "DisplayName": "Create",
@ -11219,7 +11215,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Announcement.Update", "Name": "App.Intranet.Announcement.Update",
"ParentName": "App.Intranet.Announcement", "ParentName": "App.Intranet.Announcement",
"DisplayName": "Update", "DisplayName": "Update",
@ -11228,7 +11224,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Announcement.Delete", "Name": "App.Intranet.Announcement.Delete",
"ParentName": "App.Intranet.Announcement", "ParentName": "App.Intranet.Announcement",
"DisplayName": "Delete", "DisplayName": "Delete",
@ -11237,7 +11233,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Announcement.Export", "Name": "App.Intranet.Announcement.Export",
"ParentName": "App.Intranet.Announcement", "ParentName": "App.Intranet.Announcement",
"DisplayName": "Export", "DisplayName": "Export",
@ -11246,7 +11242,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Announcement.Import", "Name": "App.Intranet.Announcement.Import",
"ParentName": "App.Intranet.Announcement", "ParentName": "App.Intranet.Announcement",
"DisplayName": "Import", "DisplayName": "Import",
@ -11255,7 +11251,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Announcement.Note", "Name": "App.Intranet.Announcement.Note",
"ParentName": "App.Intranet.Announcement", "ParentName": "App.Intranet.Announcement",
"DisplayName": "Note", "DisplayName": "Note",
@ -11264,7 +11260,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Announcement.Widget", "Name": "App.Intranet.Announcement.Widget",
"ParentName": "App.Intranet.Announcement", "ParentName": "App.Intranet.Announcement",
"DisplayName": "Widget", "DisplayName": "Widget",
@ -11273,7 +11269,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Visitor", "Name": "App.Intranet.Visitor",
"ParentName": null, "ParentName": null,
"DisplayName": "App.Intranet.Visitor", "DisplayName": "App.Intranet.Visitor",
@ -11282,7 +11278,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Visitor.Create", "Name": "App.Intranet.Visitor.Create",
"ParentName": "App.Intranet.Visitor", "ParentName": "App.Intranet.Visitor",
"DisplayName": "Create", "DisplayName": "Create",
@ -11291,7 +11287,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Visitor.Update", "Name": "App.Intranet.Visitor.Update",
"ParentName": "App.Intranet.Visitor", "ParentName": "App.Intranet.Visitor",
"DisplayName": "Update", "DisplayName": "Update",
@ -11300,7 +11296,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Visitor.Delete", "Name": "App.Intranet.Visitor.Delete",
"ParentName": "App.Intranet.Visitor", "ParentName": "App.Intranet.Visitor",
"DisplayName": "Delete", "DisplayName": "Delete",
@ -11309,7 +11305,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Visitor.Export", "Name": "App.Intranet.Visitor.Export",
"ParentName": "App.Intranet.Visitor", "ParentName": "App.Intranet.Visitor",
"DisplayName": "Export", "DisplayName": "Export",
@ -11318,7 +11314,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Visitor.Import", "Name": "App.Intranet.Visitor.Import",
"ParentName": "App.Intranet.Visitor", "ParentName": "App.Intranet.Visitor",
"DisplayName": "Import", "DisplayName": "Import",
@ -11327,7 +11323,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Visitor.Note", "Name": "App.Intranet.Visitor.Note",
"ParentName": "App.Intranet.Visitor", "ParentName": "App.Intranet.Visitor",
"DisplayName": "Note", "DisplayName": "Note",
@ -11336,7 +11332,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.Visitor.Widget", "Name": "App.Intranet.Visitor.Widget",
"ParentName": "App.Intranet.Visitor", "ParentName": "App.Intranet.Visitor",
"DisplayName": "Widget", "DisplayName": "Widget",
@ -11345,7 +11341,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.SocialPost", "Name": "App.Intranet.SocialPost",
"ParentName": null, "ParentName": null,
"DisplayName": "App.Intranet.SocialPost", "DisplayName": "App.Intranet.SocialPost",
@ -11354,7 +11350,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.SocialPost.Create", "Name": "App.Intranet.SocialPost.Create",
"ParentName": "App.Intranet.SocialPost", "ParentName": "App.Intranet.SocialPost",
"DisplayName": "Create", "DisplayName": "Create",
@ -11363,7 +11359,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.SocialPost.Update", "Name": "App.Intranet.SocialPost.Update",
"ParentName": "App.Intranet.SocialPost", "ParentName": "App.Intranet.SocialPost",
"DisplayName": "Update", "DisplayName": "Update",
@ -11372,7 +11368,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.SocialPost.Delete", "Name": "App.Intranet.SocialPost.Delete",
"ParentName": "App.Intranet.SocialPost", "ParentName": "App.Intranet.SocialPost",
"DisplayName": "Delete", "DisplayName": "Delete",
@ -11381,7 +11377,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.SocialPost.Export", "Name": "App.Intranet.SocialPost.Export",
"ParentName": "App.Intranet.SocialPost", "ParentName": "App.Intranet.SocialPost",
"DisplayName": "Export", "DisplayName": "Export",
@ -11390,7 +11386,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.SocialPost.Import", "Name": "App.Intranet.SocialPost.Import",
"ParentName": "App.Intranet.SocialPost", "ParentName": "App.Intranet.SocialPost",
"DisplayName": "Import", "DisplayName": "Import",
@ -11399,7 +11395,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.SocialPost.Note", "Name": "App.Intranet.SocialPost.Note",
"ParentName": "App.Intranet.SocialPost", "ParentName": "App.Intranet.SocialPost",
"DisplayName": "Note", "DisplayName": "Note",
@ -11408,7 +11404,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.SocialComment", "Name": "App.Intranet.SocialComment",
"ParentName": null, "ParentName": null,
"DisplayName": "App.Intranet.SocialComment", "DisplayName": "App.Intranet.SocialComment",
@ -11417,7 +11413,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.SocialComment.Create", "Name": "App.Intranet.SocialComment.Create",
"ParentName": "App.Intranet.SocialComment", "ParentName": "App.Intranet.SocialComment",
"DisplayName": "Create", "DisplayName": "Create",
@ -11426,7 +11422,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.SocialComment.Update", "Name": "App.Intranet.SocialComment.Update",
"ParentName": "App.Intranet.SocialComment", "ParentName": "App.Intranet.SocialComment",
"DisplayName": "Update", "DisplayName": "Update",
@ -11435,7 +11431,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.SocialComment.Delete", "Name": "App.Intranet.SocialComment.Delete",
"ParentName": "App.Intranet.SocialComment", "ParentName": "App.Intranet.SocialComment",
"DisplayName": "Delete", "DisplayName": "Delete",
@ -11444,7 +11440,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.SocialComment.Export", "Name": "App.Intranet.SocialComment.Export",
"ParentName": "App.Intranet.SocialComment", "ParentName": "App.Intranet.SocialComment",
"DisplayName": "Export", "DisplayName": "Export",
@ -11453,7 +11449,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.SocialComment.Import", "Name": "App.Intranet.SocialComment.Import",
"ParentName": "App.Intranet.SocialComment", "ParentName": "App.Intranet.SocialComment",
"DisplayName": "Import", "DisplayName": "Import",
@ -11462,7 +11458,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.SocialComment.Note", "Name": "App.Intranet.SocialComment.Note",
"ParentName": "App.Intranet.SocialComment", "ParentName": "App.Intranet.SocialComment",
"DisplayName": "Note", "DisplayName": "Note",
@ -11471,7 +11467,7 @@
"MenuGroup": "Kurs" "MenuGroup": "Kurs"
}, },
{ {
"GroupName": "App.Intranet", "GroupName": "App.Administration",
"Name": "App.Intranet.SocialPost.Widget", "Name": "App.Intranet.SocialPost.Widget",
"ParentName": "App.Intranet.SocialPost", "ParentName": "App.Intranet.SocialPost",
"DisplayName": "Widget", "DisplayName": "Widget",

View file

@ -7,7 +7,6 @@ public enum MenuPrefix
Platform, Platform,
Saas, Saas,
Administration, Administration,
Intranet,
Participant, Participant,
Coordinator, Coordinator,
Crm, Crm,
@ -29,7 +28,6 @@ public static class MenuPrefixExtensions
MenuPrefix.Platform => "Plat", MenuPrefix.Platform => "Plat",
MenuPrefix.Saas => "Sas", MenuPrefix.Saas => "Sas",
MenuPrefix.Administration => "Adm", MenuPrefix.Administration => "Adm",
MenuPrefix.Intranet => "Net",
MenuPrefix.Participant => "Prt", MenuPrefix.Participant => "Prt",
MenuPrefix.Coordinator => "Crd", MenuPrefix.Coordinator => "Crd",
MenuPrefix.Crm => "Crm", MenuPrefix.Crm => "Crm",

View file

@ -23,6 +23,7 @@ public static class TableNameResolver
{ nameof(TableNameEnum.BackgroundWorker_MailQueueEvents), (TablePrefix.PlatformByName, MenuPrefix.Platform) }, { nameof(TableNameEnum.BackgroundWorker_MailQueueEvents), (TablePrefix.PlatformByName, MenuPrefix.Platform) },
{ nameof(TableNameEnum.BackgroundWorker_MailQueueTableFormat), (TablePrefix.PlatformByName, MenuPrefix.Platform) }, { nameof(TableNameEnum.BackgroundWorker_MailQueueTableFormat), (TablePrefix.PlatformByName, MenuPrefix.Platform) },
{ nameof(TableNameEnum.AiBot), (TablePrefix.PlatformByName, MenuPrefix.Platform) }, { nameof(TableNameEnum.AiBot), (TablePrefix.PlatformByName, MenuPrefix.Platform) },
{ nameof(TableNameEnum.BackgroundWorker), (TablePrefix.PlatformByName, MenuPrefix.Platform) },
// 🔹 PLATFORM TABLOLARI // 🔹 PLATFORM TABLOLARI
{ nameof(TableNameEnum.Route), (TablePrefix.PlatformByName, MenuPrefix.Saas) }, { nameof(TableNameEnum.Route), (TablePrefix.PlatformByName, MenuPrefix.Saas) },
@ -40,7 +41,6 @@ public static class TableNameResolver
{ nameof(TableNameEnum.Country), (TablePrefix.PlatformByName, MenuPrefix.Saas) }, { nameof(TableNameEnum.Country), (TablePrefix.PlatformByName, MenuPrefix.Saas) },
{ nameof(TableNameEnum.City), (TablePrefix.PlatformByName, MenuPrefix.Saas) }, { nameof(TableNameEnum.City), (TablePrefix.PlatformByName, MenuPrefix.Saas) },
{ nameof(TableNameEnum.District), (TablePrefix.PlatformByName, MenuPrefix.Saas) }, { nameof(TableNameEnum.District), (TablePrefix.PlatformByName, MenuPrefix.Saas) },
{ nameof(TableNameEnum.BackgroundWorker), (TablePrefix.PlatformByName, MenuPrefix.Platform) },
{ nameof(TableNameEnum.ForumCategory), (TablePrefix.PlatformByName, MenuPrefix.Saas) }, { nameof(TableNameEnum.ForumCategory), (TablePrefix.PlatformByName, MenuPrefix.Saas) },
{ nameof(TableNameEnum.ForumTopic), (TablePrefix.PlatformByName, MenuPrefix.Saas) }, { nameof(TableNameEnum.ForumTopic), (TablePrefix.PlatformByName, MenuPrefix.Saas) },
{ nameof(TableNameEnum.ForumPost), (TablePrefix.PlatformByName, MenuPrefix.Saas) }, { nameof(TableNameEnum.ForumPost), (TablePrefix.PlatformByName, MenuPrefix.Saas) },
@ -94,6 +94,24 @@ public static class TableNameResolver
{ nameof(TableNameEnum.PartnerBank), (TablePrefix.TenantByName, MenuPrefix.Administration) }, { nameof(TableNameEnum.PartnerBank), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.PartnerCertificate), (TablePrefix.TenantByName, MenuPrefix.Administration) }, { nameof(TableNameEnum.PartnerCertificate), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.PartnerContact), (TablePrefix.TenantByName, MenuPrefix.Administration) }, { nameof(TableNameEnum.PartnerContact), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.EventCategory), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.EventType), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.Event), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.EventPhoto), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.EventComment), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.Training), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.Certificate), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.Meal), (TablePrefix.BranchByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.Reservation), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.ShuttleRoute), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.Announcement), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.Visitor), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.SocialPost), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.SocialLocation), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.SocialMedia), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.SocialPollOption), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.SocialComment), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.SocialLike), (TablePrefix.TenantByName, MenuPrefix.Administration) },
// 🔹 PARTICIPANT // 🔹 PARTICIPANT
{ nameof(TableNameEnum.Interesting), (TablePrefix.TenantByName, MenuPrefix.Participant) }, { nameof(TableNameEnum.Interesting), (TablePrefix.TenantByName, MenuPrefix.Participant) },
@ -143,26 +161,6 @@ public static class TableNameResolver
{ nameof(TableNameEnum.SurveyAnswer), (TablePrefix.TenantByName, MenuPrefix.Hr) }, { nameof(TableNameEnum.SurveyAnswer), (TablePrefix.TenantByName, MenuPrefix.Hr) },
{ nameof(TableNameEnum.SurveyResponse), (TablePrefix.TenantByName, MenuPrefix.Hr) }, { nameof(TableNameEnum.SurveyResponse), (TablePrefix.TenantByName, MenuPrefix.Hr) },
// 🔹 INTRANET
{ nameof(TableNameEnum.EventCategory), (TablePrefix.TenantByName, MenuPrefix.Intranet) },
{ nameof(TableNameEnum.EventType), (TablePrefix.TenantByName, MenuPrefix.Intranet) },
{ nameof(TableNameEnum.Event), (TablePrefix.TenantByName, MenuPrefix.Intranet) },
{ nameof(TableNameEnum.EventPhoto), (TablePrefix.TenantByName, MenuPrefix.Intranet) },
{ nameof(TableNameEnum.EventComment), (TablePrefix.TenantByName, MenuPrefix.Intranet) },
{ nameof(TableNameEnum.Training), (TablePrefix.TenantByName, MenuPrefix.Intranet) },
{ nameof(TableNameEnum.Certificate), (TablePrefix.TenantByName, MenuPrefix.Intranet) },
{ nameof(TableNameEnum.Meal), (TablePrefix.BranchByName, MenuPrefix.Intranet) },
{ nameof(TableNameEnum.Reservation), (TablePrefix.TenantByName, MenuPrefix.Intranet) },
{ nameof(TableNameEnum.ShuttleRoute), (TablePrefix.TenantByName, MenuPrefix.Intranet) },
{ nameof(TableNameEnum.Announcement), (TablePrefix.TenantByName, MenuPrefix.Intranet) },
{ nameof(TableNameEnum.Visitor), (TablePrefix.TenantByName, MenuPrefix.Intranet) },
{ nameof(TableNameEnum.SocialPost), (TablePrefix.TenantByName, MenuPrefix.Intranet) },
{ nameof(TableNameEnum.SocialLocation), (TablePrefix.TenantByName, MenuPrefix.Intranet) },
{ nameof(TableNameEnum.SocialMedia), (TablePrefix.TenantByName, MenuPrefix.Intranet) },
{ nameof(TableNameEnum.SocialPollOption), (TablePrefix.TenantByName, MenuPrefix.Intranet) },
{ nameof(TableNameEnum.SocialComment), (TablePrefix.TenantByName, MenuPrefix.Intranet) },
{ nameof(TableNameEnum.SocialLike), (TablePrefix.TenantByName, MenuPrefix.Intranet) },
// 🔹 SUPPLY CHAIN // 🔹 SUPPLY CHAIN
{ nameof(TableNameEnum.MaterialType), (TablePrefix.TenantByName, MenuPrefix.SupplyChain) }, { nameof(TableNameEnum.MaterialType), (TablePrefix.TenantByName, MenuPrefix.SupplyChain) },
{ nameof(TableNameEnum.MaterialGroup), (TablePrefix.TenantByName, MenuPrefix.SupplyChain) }, { nameof(TableNameEnum.MaterialGroup), (TablePrefix.TenantByName, MenuPrefix.SupplyChain) },

View file

@ -13,6 +13,7 @@ public class Menu : FullAuditedEntity<Guid>
public string ParentCode { get; set; } public string ParentCode { get; set; }
public string CssClass { get; set; } public string CssClass { get; set; }
public string RequiredPermissionName { get; set; } public string RequiredPermissionName { get; set; }
public string ShortName { get; set; } // Örn: "HR", "INV", "CRM"
public string Target { get; set; } public string Target { get; set; }
public bool IsDisabled { get; set; } public bool IsDisabled { get; set; }

View file

@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore;
namespace Erp.Platform.Migrations namespace Erp.Platform.Migrations
{ {
[DbContext(typeof(PlatformDbContext))] [DbContext(typeof(PlatformDbContext))]
[Migration("20251212132226_Initial")] [Migration("20251214195617_Initial")]
partial class Initial partial class Initial
{ {
/// <inheritdoc /> /// <inheritdoc />
@ -838,7 +838,7 @@ namespace Erp.Platform.Migrations
b.HasIndex("EmployeeId"); b.HasIndex("EmployeeId");
b.ToTable("Net_T_Announcement", (string)null); b.ToTable("Adm_T_Announcement", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.Approval", b => modelBuilder.Entity("Erp.Platform.Entities.Approval", b =>
@ -2200,7 +2200,7 @@ namespace Erp.Platform.Migrations
b.HasIndex("TrainingId"); b.HasIndex("TrainingId");
b.ToTable("Net_T_Certificate", (string)null); b.ToTable("Adm_T_Certificate", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.CheckNote", b => modelBuilder.Entity("Erp.Platform.Entities.CheckNote", b =>
@ -5132,7 +5132,7 @@ namespace Erp.Platform.Migrations
b.HasIndex("TypeId"); b.HasIndex("TypeId");
b.ToTable("Net_T_Event", (string)null); b.ToTable("Adm_T_Event", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.EventCategory", b => modelBuilder.Entity("Erp.Platform.Entities.EventCategory", b =>
@ -5181,7 +5181,7 @@ namespace Erp.Platform.Migrations
b.HasKey("Id"); b.HasKey("Id");
b.ToTable("Net_T_EventCategory", (string)null); b.ToTable("Adm_T_EventCategory", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.EventComment", b => modelBuilder.Entity("Erp.Platform.Entities.EventComment", b =>
@ -5242,7 +5242,7 @@ namespace Erp.Platform.Migrations
b.HasIndex("EventId"); b.HasIndex("EventId");
b.ToTable("Net_T_EventComment", (string)null); b.ToTable("Adm_T_EventComment", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.EventPhoto", b => modelBuilder.Entity("Erp.Platform.Entities.EventPhoto", b =>
@ -5295,7 +5295,7 @@ namespace Erp.Platform.Migrations
b.HasIndex("EventId"); b.HasIndex("EventId");
b.ToTable("Net_T_EventPhoto", (string)null); b.ToTable("Adm_T_EventPhoto", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.EventType", b => modelBuilder.Entity("Erp.Platform.Entities.EventType", b =>
@ -5344,7 +5344,7 @@ namespace Erp.Platform.Migrations
b.HasKey("Id"); b.HasKey("Id");
b.ToTable("Net_T_EventType", (string)null); b.ToTable("Adm_T_EventType", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.Expense", b => modelBuilder.Entity("Erp.Platform.Entities.Expense", b =>
@ -8063,7 +8063,7 @@ namespace Erp.Platform.Migrations
b.HasIndex("BranchId"); b.HasIndex("BranchId");
b.ToTable("Net_B_Meal", (string)null); b.ToTable("Adm_B_Meal", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.MeetingMethod", b => modelBuilder.Entity("Erp.Platform.Entities.MeetingMethod", b =>
@ -8261,6 +8261,9 @@ namespace Erp.Platform.Migrations
.HasMaxLength(256) .HasMaxLength(256)
.HasColumnType("nvarchar(256)"); .HasColumnType("nvarchar(256)");
b.Property<string>("ShortName")
.HasColumnType("nvarchar(max)");
b.Property<string>("Target") b.Property<string>("Target")
.HasMaxLength(64) .HasMaxLength(64)
.HasColumnType("nvarchar(64)"); .HasColumnType("nvarchar(64)");
@ -13383,7 +13386,7 @@ namespace Erp.Platform.Migrations
b.HasIndex("EmployeeId"); b.HasIndex("EmployeeId");
b.ToTable("Net_T_Reservation", (string)null); b.ToTable("Adm_T_Reservation", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.Risk", b => modelBuilder.Entity("Erp.Platform.Entities.Risk", b =>
@ -14255,7 +14258,7 @@ namespace Erp.Platform.Migrations
b.HasKey("Id"); b.HasKey("Id");
b.ToTable("Net_T_ShuttleRoute", (string)null); b.ToTable("Adm_T_ShuttleRoute", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.Skill", b => modelBuilder.Entity("Erp.Platform.Entities.Skill", b =>
@ -14488,7 +14491,7 @@ namespace Erp.Platform.Migrations
b.HasIndex("SocialPostId"); b.HasIndex("SocialPostId");
b.ToTable("Net_T_SocialComment", (string)null); b.ToTable("Adm_T_SocialComment", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.SocialLike", b => modelBuilder.Entity("Erp.Platform.Entities.SocialLike", b =>
@ -14542,7 +14545,7 @@ namespace Erp.Platform.Migrations
b.HasIndex("SocialPostId"); b.HasIndex("SocialPostId");
b.ToTable("Net_T_SocialLike", (string)null); b.ToTable("Adm_T_SocialLike", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.SocialLocation", b => modelBuilder.Entity("Erp.Platform.Entities.SocialLocation", b =>
@ -14611,7 +14614,7 @@ namespace Erp.Platform.Migrations
b.HasIndex("SocialPostId") b.HasIndex("SocialPostId")
.IsUnique(); .IsUnique();
b.ToTable("Net_T_SocialLocation", (string)null); b.ToTable("Adm_T_SocialLocation", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.SocialMedia", b => modelBuilder.Entity("Erp.Platform.Entities.SocialMedia", b =>
@ -14684,7 +14687,7 @@ namespace Erp.Platform.Migrations
b.HasIndex("SocialPostId") b.HasIndex("SocialPostId")
.IsUnique(); .IsUnique();
b.ToTable("Net_T_SocialMedia", (string)null); b.ToTable("Adm_T_SocialMedia", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.SocialPollOption", b => modelBuilder.Entity("Erp.Platform.Entities.SocialPollOption", b =>
@ -14741,7 +14744,7 @@ namespace Erp.Platform.Migrations
b.HasIndex("SocialMediaId"); b.HasIndex("SocialMediaId");
b.ToTable("Net_T_SocialPollOption", (string)null); b.ToTable("Adm_T_SocialPollOption", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.SocialPost", b => modelBuilder.Entity("Erp.Platform.Entities.SocialPost", b =>
@ -14810,7 +14813,7 @@ namespace Erp.Platform.Migrations
b.HasIndex("EmployeeId"); b.HasIndex("EmployeeId");
b.ToTable("Net_T_SocialPost", (string)null); b.ToTable("Adm_T_SocialPost", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.Source", b => modelBuilder.Entity("Erp.Platform.Entities.Source", b =>
@ -15579,7 +15582,7 @@ namespace Erp.Platform.Migrations
b.HasKey("Id"); b.HasKey("Id");
b.ToTable("Net_T_Training", (string)null); b.ToTable("Adm_T_Training", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.Type", b => modelBuilder.Entity("Erp.Platform.Entities.Type", b =>
@ -16002,7 +16005,7 @@ namespace Erp.Platform.Migrations
b.HasIndex("EmployeeId"); b.HasIndex("EmployeeId");
b.ToTable("Net_T_Visitor", (string)null); b.ToTable("Adm_T_Visitor", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.Warehouse", b => modelBuilder.Entity("Erp.Platform.Entities.Warehouse", b =>

View file

@ -835,7 +835,7 @@ namespace Erp.Platform.Migrations
b.HasIndex("EmployeeId"); b.HasIndex("EmployeeId");
b.ToTable("Net_T_Announcement", (string)null); b.ToTable("Adm_T_Announcement", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.Approval", b => modelBuilder.Entity("Erp.Platform.Entities.Approval", b =>
@ -2197,7 +2197,7 @@ namespace Erp.Platform.Migrations
b.HasIndex("TrainingId"); b.HasIndex("TrainingId");
b.ToTable("Net_T_Certificate", (string)null); b.ToTable("Adm_T_Certificate", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.CheckNote", b => modelBuilder.Entity("Erp.Platform.Entities.CheckNote", b =>
@ -5129,7 +5129,7 @@ namespace Erp.Platform.Migrations
b.HasIndex("TypeId"); b.HasIndex("TypeId");
b.ToTable("Net_T_Event", (string)null); b.ToTable("Adm_T_Event", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.EventCategory", b => modelBuilder.Entity("Erp.Platform.Entities.EventCategory", b =>
@ -5178,7 +5178,7 @@ namespace Erp.Platform.Migrations
b.HasKey("Id"); b.HasKey("Id");
b.ToTable("Net_T_EventCategory", (string)null); b.ToTable("Adm_T_EventCategory", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.EventComment", b => modelBuilder.Entity("Erp.Platform.Entities.EventComment", b =>
@ -5239,7 +5239,7 @@ namespace Erp.Platform.Migrations
b.HasIndex("EventId"); b.HasIndex("EventId");
b.ToTable("Net_T_EventComment", (string)null); b.ToTable("Adm_T_EventComment", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.EventPhoto", b => modelBuilder.Entity("Erp.Platform.Entities.EventPhoto", b =>
@ -5292,7 +5292,7 @@ namespace Erp.Platform.Migrations
b.HasIndex("EventId"); b.HasIndex("EventId");
b.ToTable("Net_T_EventPhoto", (string)null); b.ToTable("Adm_T_EventPhoto", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.EventType", b => modelBuilder.Entity("Erp.Platform.Entities.EventType", b =>
@ -5341,7 +5341,7 @@ namespace Erp.Platform.Migrations
b.HasKey("Id"); b.HasKey("Id");
b.ToTable("Net_T_EventType", (string)null); b.ToTable("Adm_T_EventType", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.Expense", b => modelBuilder.Entity("Erp.Platform.Entities.Expense", b =>
@ -8060,7 +8060,7 @@ namespace Erp.Platform.Migrations
b.HasIndex("BranchId"); b.HasIndex("BranchId");
b.ToTable("Net_B_Meal", (string)null); b.ToTable("Adm_B_Meal", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.MeetingMethod", b => modelBuilder.Entity("Erp.Platform.Entities.MeetingMethod", b =>
@ -8258,6 +8258,9 @@ namespace Erp.Platform.Migrations
.HasMaxLength(256) .HasMaxLength(256)
.HasColumnType("nvarchar(256)"); .HasColumnType("nvarchar(256)");
b.Property<string>("ShortName")
.HasColumnType("nvarchar(max)");
b.Property<string>("Target") b.Property<string>("Target")
.HasMaxLength(64) .HasMaxLength(64)
.HasColumnType("nvarchar(64)"); .HasColumnType("nvarchar(64)");
@ -13380,7 +13383,7 @@ namespace Erp.Platform.Migrations
b.HasIndex("EmployeeId"); b.HasIndex("EmployeeId");
b.ToTable("Net_T_Reservation", (string)null); b.ToTable("Adm_T_Reservation", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.Risk", b => modelBuilder.Entity("Erp.Platform.Entities.Risk", b =>
@ -14252,7 +14255,7 @@ namespace Erp.Platform.Migrations
b.HasKey("Id"); b.HasKey("Id");
b.ToTable("Net_T_ShuttleRoute", (string)null); b.ToTable("Adm_T_ShuttleRoute", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.Skill", b => modelBuilder.Entity("Erp.Platform.Entities.Skill", b =>
@ -14485,7 +14488,7 @@ namespace Erp.Platform.Migrations
b.HasIndex("SocialPostId"); b.HasIndex("SocialPostId");
b.ToTable("Net_T_SocialComment", (string)null); b.ToTable("Adm_T_SocialComment", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.SocialLike", b => modelBuilder.Entity("Erp.Platform.Entities.SocialLike", b =>
@ -14539,7 +14542,7 @@ namespace Erp.Platform.Migrations
b.HasIndex("SocialPostId"); b.HasIndex("SocialPostId");
b.ToTable("Net_T_SocialLike", (string)null); b.ToTable("Adm_T_SocialLike", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.SocialLocation", b => modelBuilder.Entity("Erp.Platform.Entities.SocialLocation", b =>
@ -14608,7 +14611,7 @@ namespace Erp.Platform.Migrations
b.HasIndex("SocialPostId") b.HasIndex("SocialPostId")
.IsUnique(); .IsUnique();
b.ToTable("Net_T_SocialLocation", (string)null); b.ToTable("Adm_T_SocialLocation", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.SocialMedia", b => modelBuilder.Entity("Erp.Platform.Entities.SocialMedia", b =>
@ -14681,7 +14684,7 @@ namespace Erp.Platform.Migrations
b.HasIndex("SocialPostId") b.HasIndex("SocialPostId")
.IsUnique(); .IsUnique();
b.ToTable("Net_T_SocialMedia", (string)null); b.ToTable("Adm_T_SocialMedia", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.SocialPollOption", b => modelBuilder.Entity("Erp.Platform.Entities.SocialPollOption", b =>
@ -14738,7 +14741,7 @@ namespace Erp.Platform.Migrations
b.HasIndex("SocialMediaId"); b.HasIndex("SocialMediaId");
b.ToTable("Net_T_SocialPollOption", (string)null); b.ToTable("Adm_T_SocialPollOption", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.SocialPost", b => modelBuilder.Entity("Erp.Platform.Entities.SocialPost", b =>
@ -14807,7 +14810,7 @@ namespace Erp.Platform.Migrations
b.HasIndex("EmployeeId"); b.HasIndex("EmployeeId");
b.ToTable("Net_T_SocialPost", (string)null); b.ToTable("Adm_T_SocialPost", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.Source", b => modelBuilder.Entity("Erp.Platform.Entities.Source", b =>
@ -15576,7 +15579,7 @@ namespace Erp.Platform.Migrations
b.HasKey("Id"); b.HasKey("Id");
b.ToTable("Net_T_Training", (string)null); b.ToTable("Adm_T_Training", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.Type", b => modelBuilder.Entity("Erp.Platform.Entities.Type", b =>
@ -15999,7 +16002,7 @@ namespace Erp.Platform.Migrations
b.HasIndex("EmployeeId"); b.HasIndex("EmployeeId");
b.ToTable("Net_T_Visitor", (string)null); b.ToTable("Adm_T_Visitor", (string)null);
}); });
modelBuilder.Entity("Erp.Platform.Entities.Warehouse", b => modelBuilder.Entity("Erp.Platform.Entities.Warehouse", b =>

View file

@ -54,6 +54,7 @@ using Volo.Abp.VirtualFileSystem;
using Erp.Platform.DynamicServices; using Erp.Platform.DynamicServices;
using static Erp.Platform.PlatformConsts; using static Erp.Platform.PlatformConsts;
using static Erp.Settings.SettingsConsts; using static Erp.Settings.SettingsConsts;
using Hangfire.SqlServer;
namespace Erp.Platform; namespace Erp.Platform;
@ -314,28 +315,38 @@ public class PlatformHttpApiHostModule : AbpModule
{ {
Configure<AbpHangfireOptions>(options => Configure<AbpHangfireOptions>(options =>
{ {
options.ServerOptions = new BackgroundJobServerOptions() options.ServerOptions = new BackgroundJobServerOptions
{ {
Queues = ["default", "platform"] Queues = ["default", "platform"]
}; };
}); });
context.Services.AddHangfire(config => if (DefaultDatabaseProvider == DatabaseProvider.PostgreSql)
{ {
switch (DefaultDatabaseProvider) context.Services.AddHangfire(options =>
{ {
case DatabaseProvider.PostgreSql: options.UsePostgreSqlStorage(
config.UsePostgreSqlStorage(c => configuration.GetConnectionString(DefaultDatabaseProvider),
c.UseNpgsqlConnection(configuration.GetConnectionString(DefaultDatabaseProvider))); new PostgreSqlStorageOptions
break; {
case DatabaseProvider.SqlServer: PrepareSchemaIfNecessary = true
config.UseSqlServerStorage(configuration.GetConnectionString(DefaultDatabaseProvider)); });
break;
default:
throw new InvalidOperationException("Unsupported database provider configured for Hangfire.");
}
}); });
} }
else if (DefaultDatabaseProvider == DatabaseProvider.SqlServer)
{
context.Services.AddHangfire(options =>
{
options.UseSqlServerStorage(
configuration.GetConnectionString(DefaultDatabaseProvider),
new SqlServerStorageOptions
{
PrepareSchemaIfNecessary = true
});
});
}
}
private void ConfigureBlobStoring(IConfiguration configuration) private void ConfigureBlobStoring(IConfiguration configuration)
{ {

View file

@ -1,4 +1,4 @@
import React, { useState, useEffect } from 'react' import React, { useState, useEffect, useMemo } from 'react'
import { useParams, useNavigate } from 'react-router-dom' import { useParams, useNavigate } from 'react-router-dom'
import { useEntities, EntityFieldType } from '../../contexts/EntityContext' import { useEntities, EntityFieldType } from '../../contexts/EntityContext'
import { import {
@ -18,7 +18,7 @@ import { Formik, Form, Field, FieldProps, FieldArray } from 'formik'
import * as Yup from 'yup' import * as Yup from 'yup'
import { FormItem, Input, Select, Checkbox, FormContainer, Button } from '@/components/ui' import { FormItem, Input, Select, Checkbox, FormContainer, Button } from '@/components/ui'
import { SelectBoxOption } from '@/types/shared' import { SelectBoxOption } from '@/types/shared'
import { MenuPrefixEnum, menuPrefixValues, toPrefix } from '@/types/menu' import { useStoreState } from '@/store/store'
// Validation schema // Validation schema
const validationSchema = Yup.object({ const validationSchema = Yup.object({
@ -50,11 +50,38 @@ const EntityEditor: React.FC = () => {
const { id } = useParams() const { id } = useParams()
const navigate = useNavigate() const navigate = useNavigate()
const { translate } = useLocalization() const { translate } = useLocalization()
const { mainMenu } = useStoreState((state) => state.abpConfig.menu)
const { getEntity, addEntity, updateEntity } = useEntities() const { getEntity, addEntity, updateEntity } = useEntities()
const isEditing = !!id const isEditing = !!id
// Convert first level menu items to select options with prefix
const menuOptions = useMemo(() => {
if (!mainMenu || mainMenu.length === 0) return []
const prefixMap: Record<string, string> = {
'Platform': 'Plat',
'Saas': 'Sas',
'Administration': 'Adm',
'Participant': 'Prt',
'Coordinator': 'Crd',
'Crm': 'Crm',
'SupplyChain': 'Scp',
'Maintenance': 'Mnt',
'Warehouse': 'Str',
'Project': 'Prj',
'Hr': 'Hr',
'Mrp': 'Mrp',
'Accounting': 'Acc',
}
return mainMenu.map((menuItem) => ({
value: menuItem.key,
label: menuItem.title,
prefix: menuItem.shortName || prefixMap[menuItem.key] || menuItem.key.substring(0, 3),
}))
}, [mainMenu])
// Initial values for Formik // Initial values for Formik
const [initialValues, setInitialValues] = useState({ const [initialValues, setInitialValues] = useState({
menu: '', menu: '',
@ -154,13 +181,9 @@ const EntityEditor: React.FC = () => {
// Helper function to generate table name // Helper function to generate table name
const generateTableName = (menuValue: string, entityName: string): string => { const generateTableName = (menuValue: string, entityName: string): string => {
if (!menuValue || !entityName) return '' if (!menuValue || !entityName) return ''
try { const selectedMenu = menuOptions.find((opt) => opt.value === menuValue)
const menuPrefix = toPrefix(menuValue as MenuPrefixEnum) if (!selectedMenu) return ''
return `${menuPrefix}_D_${entityName}` return `${selectedMenu.prefix}_D_${entityName}`
} catch (error) {
console.error('Error generating table name:', error)
return ''
}
} }
const fieldTypes = [ const fieldTypes = [
@ -283,9 +306,9 @@ const EntityEditor: React.FC = () => {
<Select <Select
field={field} field={field}
form={form} form={form}
options={menuPrefixValues} options={menuOptions}
isClearable={true} isClearable={true}
value={menuPrefixValues.filter((option) => option.value === values.menu)} value={menuOptions.filter((option) => option.value === values.menu)}
onChange={(option) => { onChange={(option) => {
const newMenuValue = option?.value || '' const newMenuValue = option?.value || ''
form.setFieldValue(field.name, newMenuValue) form.setFieldValue(field.name, newMenuValue)
@ -343,7 +366,7 @@ const EntityEditor: React.FC = () => {
<p className="text-xs text-slate-500 mt-1"> <p className="text-xs text-slate-500 mt-1">
Format:{' '} Format:{' '}
{values.menu {values.menu
? `${toPrefix(values.menu as MenuPrefixEnum)}_D_` ? `${menuOptions.find((opt) => opt.value === values.menu)?.prefix || '[Prefix]'}_D_`
: '[Prefix]_D_'} : '[Prefix]_D_'}
EntityName EntityName
</p> </p>

View file

@ -16,4 +16,5 @@ export interface MenuDto extends FullAuditedEntityDto<string> {
roleId?: string roleId?: string
cultureName?: string cultureName?: string
group?: string group?: string
shortName?: string
} }

View file

@ -8,4 +8,5 @@ export interface NavigationTree {
type: 'title' | 'collapse' | 'item' type: 'title' | 'collapse' | 'item'
authority: string[] authority: string[]
subMenu: NavigationTree[] subMenu: NavigationTree[]
shortName?: string
} }

View file

@ -1,55 +0,0 @@
import { enumToList } from "@/utils/enumUtils";
export enum MenuPrefixEnum {
Platform = "Platform",
Saas = "Saas",
Administration = "Administration",
Intranet = "Intranet",
Participant = "Participant",
Coordinator = "Coordinator",
Crm = "Crm",
SupplyChain = "SupplyChain",
Maintenance = "Maintenance",
Warehouse = "Warehouse",
Project = "Project",
Hr = "Hr",
Mrp = "Mrp",
Accounting = "Accounting"
}
export function toPrefix(menu: MenuPrefixEnum): string {
switch (menu) {
case MenuPrefixEnum.Platform:
return "Plat";
case MenuPrefixEnum.Saas:
return "Sas";
case MenuPrefixEnum.Administration:
return "Adm";
case MenuPrefixEnum.Intranet:
return "Net";
case MenuPrefixEnum.Participant:
return "Prt";
case MenuPrefixEnum.Coordinator:
return "Crd";
case MenuPrefixEnum.Crm:
return "Crm";
case MenuPrefixEnum.SupplyChain:
return "Scp";
case MenuPrefixEnum.Maintenance:
return "Mnt";
case MenuPrefixEnum.Warehouse:
return "Str";
case MenuPrefixEnum.Project:
return "Prj";
case MenuPrefixEnum.Hr:
return "Hr";
case MenuPrefixEnum.Mrp:
return "Mrp";
case MenuPrefixEnum.Accounting:
return "Acc";
default:
throw new Error(`Unhandled menu prefix: ${menu}`);
}
}
export const menuPrefixValues = enumToList<string>(MenuPrefixEnum)

View file

@ -36,6 +36,7 @@ export default function getChildren(menu: MenuDto[], parentCode: string | null):
translateKey: child.displayName ?? '', translateKey: child.displayName ?? '',
authority: [child.requiredPermissionName ?? ''], authority: [child.requiredPermissionName ?? ''],
subMenu: [], subMenu: [],
shortName: child.shortName ?? '',
} }
if (child.code) { if (child.code) {