Host Tenant Yetki Seeder

This commit is contained in:
Sedat ÖZTÜRK 2025-05-26 16:49:39 +03:00
parent 60bf112fd7
commit 4cba98e7a8
9 changed files with 212 additions and 123 deletions

View file

@ -546,8 +546,8 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency
DisplayExpr = "name",
ValueExpr = "key",
LookupQuery = JsonSerializer.Serialize(new LookupDataDto[] {
new () { Key=1,Name="Host" },
new () { Key=2,Name="Tenant" },
new () { Key=1,Name="Tenant" },
new () { Key=2,Name="Host" },
new () { Key=3,Name="Both" },
}),
}),

View file

@ -71,7 +71,10 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
TenantManagementPermissions.GroupName,
perm,
CUDE.Contains(name) ? name : perm,
parent == TenantManagementPermissions.GroupName ? null : parent));
parent == TenantManagementPermissions.GroupName ? null : parent,
true,
MultiTenancySides.Host
));
}
}
@ -81,7 +84,10 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
TenantManagementPermissions.GroupName,
TenantManagementPermissions.Tenants.Default + ".Export",
CUDE[3],
TenantManagementPermissions.Tenants.Default));
TenantManagementPermissions.Tenants.Default,
true,
MultiTenancySides.Host
));
}
#endregion
@ -142,7 +148,10 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
GetNewPermission(
IdentityPermissions.GroupName,
AbpIdentity.PermissionGroups.Default,
AbpIdentity.PermissionGroups.Default
AbpIdentity.PermissionGroups.Default,
null,
true,
MultiTenancySides.Host
));
foreach (var item in CUDE)
@ -159,7 +168,9 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
IdentityPermissions.GroupName,
permissionName,
item,
permPermissionGroupManagement.Name
permPermissionGroupManagement.Name,
true,
MultiTenancySides.Host
));
}
}
@ -171,7 +182,10 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
GetNewPermission(
IdentityPermissions.GroupName,
AbpIdentity.Permissions.Default,
AbpIdentity.Permissions.Default
AbpIdentity.Permissions.Default,
null,
true,
MultiTenancySides.Host
));
foreach (var item in CUDE)
@ -188,7 +202,9 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
IdentityPermissions.GroupName,
permissionName,
item,
permPermissionManagement.Name
permPermissionManagement.Name,
true,
MultiTenancySides.Host
));
}
}
@ -201,7 +217,7 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
IdentityPermissions.GroupName,
AbpIdentity.OrganizationUnits.Default,
AbpIdentity.OrganizationUnits.Default
));
));
}
@ -264,13 +280,13 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
var permSiteManagement = await repository.InsertAsync(GetNewPermission(groupName, AbpSettings.SiteManagement.GroupName, AbpSettings.SiteManagement.GroupName));
//General
await repository.InsertAsync(GetNewPermission(groupName, AbpSettings.SiteManagement.General.Default, AbpSettings.SiteManagement.General.Default, permSiteManagement.Name));
await repository.InsertAsync(GetNewPermission(groupName, AbpSettings.SiteManagement.General.Default, AbpSettings.SiteManagement.General.Default, permSiteManagement.Name, true, MultiTenancySides.Host));
//Theme
await repository.InsertAsync(GetNewPermission(groupName, AbpSettings.SiteManagement.Theme.Default, AbpSettings.SiteManagement.Theme.Default, permSiteManagement.Name));
//Localization
var permLocalization = await repository.InsertAsync(GetNewPermission(groupName, AbpSettings.AbpLocalization.GroupName, AbpSettings.AbpLocalization.GroupName, permSiteManagement.Name));
var permLocalization = await repository.InsertAsync(GetNewPermission(groupName, AbpSettings.AbpLocalization.GroupName, AbpSettings.AbpLocalization.GroupName, permSiteManagement.Name, true, MultiTenancySides.Host));
#endregion
#region Sender
@ -283,7 +299,7 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
await repository.InsertAsync(GetNewPermission(groupName, AbpSettings.Sender.Sms.PostaGuvercini.Default, AbpSettings.Sender.Sms.PostaGuvercini.Default, permSms.Name));
//Rocket
await repository.InsertAsync(GetNewPermission(groupName, AbpSettings.Sender.Rocket.Default, AbpSettings.Sender.Rocket.Default, permSender.Name));
await repository.InsertAsync(GetNewPermission(groupName, AbpSettings.Sender.Rocket.Default, AbpSettings.Sender.Rocket.Default, permSender.Name, true, MultiTenancySides.Host));
//WhatsApp
await repository.InsertAsync(GetNewPermission(groupName, AbpSettings.Sender.WhatsApp.Default, AbpSettings.Sender.WhatsApp.Default, permSender.Name));
@ -299,20 +315,20 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
await repository.InsertAsync(GetNewPermission(groupName, AbpSettings.Mailing.Smtp.GroupName, AbpSettings.Mailing.Smtp.GroupName, permMailing.Name));
//Aws
await repository.InsertAsync(GetNewPermission(groupName, AbpSettings.Mailing.AWS.GroupName, AbpSettings.Mailing.AWS.GroupName, permMailing.Name));
await repository.InsertAsync(GetNewPermission(groupName, AbpSettings.Mailing.AWS.GroupName, AbpSettings.Mailing.AWS.GroupName, permMailing.Name, true, MultiTenancySides.Host));
#endregion
#region Account_Management
var permAccountManagement = await repository.InsertAsync(GetNewPermission(groupName, AbpAccount.GroupName, AbpAccount.GroupName));
//General
await repository.InsertAsync(GetNewPermission(groupName, AbpAccount.General, AbpAccount.General, permAccountManagement.Name));
await repository.InsertAsync(GetNewPermission(groupName, AbpAccount.General, AbpAccount.General, permAccountManagement.Name, true, MultiTenancySides.Host));
//Two Factor
await repository.InsertAsync(GetNewPermission(groupName, AbpAccount.TwoFactor, AbpAccount.TwoFactor, permAccountManagement.Name));
//Captcha
await repository.InsertAsync(GetNewPermission(groupName, AbpAccount.Captcha.Default, AbpAccount.Captcha.Default, permAccountManagement.Name));
await repository.InsertAsync(GetNewPermission(groupName, AbpAccount.Captcha.Default, AbpAccount.Captcha.Default, permAccountManagement.Name, true, MultiTenancySides.Host));
#endregion
#region Identity_Management
@ -328,10 +344,10 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
await repository.InsertAsync(GetNewPermission(groupName, AbpIdentity.Lockout.Default, AbpIdentity.Lockout.Default, permIdentityManagement.Name));
//SignIn
await repository.InsertAsync(GetNewPermission(groupName, AbpIdentity.SignIn.Default, AbpIdentity.SignIn.Default, permIdentityManagement.Name));
await repository.InsertAsync(GetNewPermission(groupName, AbpIdentity.SignIn.Default, AbpIdentity.SignIn.Default, permIdentityManagement.Name, true, MultiTenancySides.Host));
//User
await repository.InsertAsync(GetNewPermission(groupName, AbpIdentity.User.Default, AbpIdentity.User.Default, permIdentityManagement.Name));
await repository.InsertAsync(GetNewPermission(groupName, AbpIdentity.User.Default, AbpIdentity.User.Default, permIdentityManagement.Name, true, MultiTenancySides.Host));
#endregion
#endregion
@ -347,7 +363,10 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
GetNewPermission(
AppCodes.Languages.Default,
AppCodes.Languages.Language,
AppCodes.Languages.Language
AppCodes.Languages.Language,
null,
true,
MultiTenancySides.Host
));
foreach (var item in CUDE)
@ -359,7 +378,9 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
AppCodes.Languages.Default,
permissionName,
item,
permLanguages.Name
permLanguages.Name,
true,
MultiTenancySides.Host
));
}
@ -367,7 +388,10 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
GetNewPermission(
AppCodes.Languages.Default,
AppCodes.Languages.LanguageText,
AppCodes.Languages.LanguageText
AppCodes.Languages.LanguageText,
null,
true,
MultiTenancySides.Host
));
foreach (var item in CUDE)
@ -379,7 +403,9 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
AppCodes.Languages.Default,
permissionName,
item,
permLanguageTexts.Name
permLanguageTexts.Name,
true,
MultiTenancySides.Host
));
}
#endregion
@ -395,7 +421,10 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
GetNewPermission(
AppCodes.Menus,
AppCodes.Menus,
AppCodes.Menus
AppCodes.Menus,
null,
true,
MultiTenancySides.Host
));
foreach (var item in CUDE)
@ -407,7 +436,9 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
AppCodes.Menus,
permissionName,
item,
permMenuManagement.Name
permMenuManagement.Name,
true,
MultiTenancySides.Host
));
}
#endregion
@ -423,14 +454,20 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
GetNewPermission(
AppCodes.Listforms.Default,
AppCodes.Listforms.Wizard,
AppCodes.Listforms.Wizard
AppCodes.Listforms.Wizard,
null,
true,
MultiTenancySides.Host
));
var permDataSources = await repository.InsertAsync(
GetNewPermission(
AppCodes.Listforms.Default,
AppCodes.Listforms.DataSource,
AppCodes.Listforms.DataSource
AppCodes.Listforms.DataSource,
null,
true,
MultiTenancySides.Host
));
foreach (var item in CUDE)
@ -442,7 +479,9 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
AppCodes.Listforms.DataSource,
permissionName,
item,
permDataSources.Name
permDataSources.Name,
true,
MultiTenancySides.Host
));
}
@ -450,7 +489,10 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
GetNewPermission(
AppCodes.Listforms.Default,
AppCodes.Listforms.Listform,
AppCodes.Listforms.Listform
AppCodes.Listforms.Listform,
null,
true,
MultiTenancySides.Host
));
foreach (var item in CUDE)
@ -462,7 +504,9 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
AppCodes.Listforms.Default,
permissionName,
item,
permListforms.Name
permListforms.Name,
true,
MultiTenancySides.Host
));
}
@ -470,7 +514,10 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
GetNewPermission(
AppCodes.Listforms.Default,
AppCodes.Listforms.ListformField,
AppCodes.Listforms.ListformField
AppCodes.Listforms.ListformField,
null,
true,
MultiTenancySides.Host
));
foreach (var item in CUDE)
@ -482,7 +529,9 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
AppCodes.Listforms.Default,
permissionName,
item,
permListformFields.Name
permListformFields.Name,
true,
MultiTenancySides.Host
));
}
@ -490,7 +539,10 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
GetNewPermission(
AppCodes.Listforms.Default,
AppCodes.Listforms.Chart,
AppCodes.Listforms.Chart
AppCodes.Listforms.Chart,
null,
true,
MultiTenancySides.Host
));
foreach (var item in CUDE)
@ -502,7 +554,9 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
AppCodes.Listforms.Default,
permissionName,
item,
chartManagement.Name
chartManagement.Name,
true,
MultiTenancySides.Host
));
}
@ -519,7 +573,10 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
GetNewPermission(
AppCodes.Settings.SettingDefinitions,
AppCodes.Settings.SettingDefinitions,
AppCodes.Settings.SettingDefinitions
AppCodes.Settings.SettingDefinitions,
null,
true,
MultiTenancySides.Host
));
foreach (var item in CUDE)
@ -531,7 +588,9 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
AppCodes.Settings.SettingDefinitions,
permissionName,
item,
permSettingManagement.Name
permSettingManagement.Name,
true,
MultiTenancySides.Host
));
}
#endregion
@ -547,7 +606,10 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
GetNewPermission(
AppCodes.BackgroundWorkers,
AppCodes.BackgroundWorkers,
AppCodes.BackgroundWorkers
AppCodes.BackgroundWorkers,
null,
true,
MultiTenancySides.Host
));
foreach (var item in CUDE)
@ -559,7 +621,9 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
AppCodes.BackgroundWorkers,
permissionName,
item,
permBackgroundWorkers.Name
permBackgroundWorkers.Name,
true,
MultiTenancySides.Host
));
}
#endregion
@ -575,7 +639,10 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
GetNewPermission(
AppCodes.Notifications.Default,
AppCodes.Notifications.NotificationRules,
AppCodes.Notifications.NotificationRules
AppCodes.Notifications.NotificationRules,
null,
true,
MultiTenancySides.Host
));
foreach (var item in CUDE)
@ -587,7 +654,9 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
AppCodes.Notifications.NotificationRules,
permissionName,
item,
permNotificationRules.Name
permNotificationRules.Name,
true,
MultiTenancySides.Host
));
}
@ -595,7 +664,10 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
GetNewPermission(
AppCodes.Notifications.Default,
AppCodes.Notifications.Notification,
AppCodes.Notifications.Notification
AppCodes.Notifications.Notification,
null,
true,
MultiTenancySides.Host
));
foreach (var item in CUDE)
@ -607,7 +679,9 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
AppCodes.Notifications.Notification,
permissionName,
item,
permNotification.Name
permNotification.Name,
true,
MultiTenancySides.Host
));
}
#endregion
@ -623,7 +697,10 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
GetNewPermission(
AppCodes.PublicApis,
AppCodes.PublicApis,
AppCodes.PublicApis
AppCodes.PublicApis,
null,
true,
MultiTenancySides.Host
));
foreach (var item in CUDE)
@ -635,7 +712,9 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
AppCodes.PublicApis,
permissionName,
item,
permPublicApis.Name
permPublicApis.Name,
true,
MultiTenancySides.Host
));
}
@ -645,7 +724,9 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
AppCodes.PublicApis,
AppCodes.PublicApis + ".Get",
"Get",
permPublicApis.Name
permPublicApis.Name,
true,
MultiTenancySides.Host
));
//Post Api Permissions
@ -654,7 +735,9 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
AppCodes.PublicApis,
AppCodes.PublicApis + ".Post",
"Post",
permPublicApis.Name
permPublicApis.Name,
true,
MultiTenancySides.Host
));
#endregion
@ -669,7 +752,10 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
GetNewPermission(
AppCodes.Settings.GlobalSearch,
AppCodes.Settings.GlobalSearch,
AppCodes.Settings.GlobalSearch
AppCodes.Settings.GlobalSearch,
null,
true,
MultiTenancySides.Host
));
foreach (var item in CUDE)
@ -681,7 +767,9 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
AppCodes.Settings.GlobalSearch,
permissionName,
item,
permGlobalSearch.Name
permGlobalSearch.Name,
true,
MultiTenancySides.Host
));
}
#endregion
@ -697,6 +785,11 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
{
return new PermissionDefinitionRecord(Guid.NewGuid(),
groupName,
name, parentName, displayName, isEnabled, multiTenancySides);
name,
parentName,
displayName,
isEnabled,
multiTenancySides
);
}
}

View file

@ -102,12 +102,14 @@ public class PlatformIdentityDataSeeder : IdentityDataSeeder
new(Guid.NewGuid(), IdentityPermissions.Roles.Create, "R", PlatformConsts.AbpIdentity.User.AdminRoleName, tenantId),
new(Guid.NewGuid(), IdentityPermissions.Roles.Delete, "R", PlatformConsts.AbpIdentity.User.AdminRoleName, tenantId),
new(Guid.NewGuid(), IdentityPermissions.Roles.Update, "R", PlatformConsts.AbpIdentity.User.AdminRoleName, tenantId),
new(Guid.NewGuid(), IdentityPermissions.Roles.Default + ".Export", "R", PlatformConsts.AbpIdentity.User.AdminRoleName, tenantId),
new(Guid.NewGuid(), IdentityPermissions.Roles.ManagePermissions, "R", PlatformConsts.AbpIdentity.User.AdminRoleName, tenantId),
new(Guid.NewGuid(), IdentityPermissions.Users.Default, "R", PlatformConsts.AbpIdentity.User.AdminRoleName, tenantId),
new(Guid.NewGuid(), IdentityPermissions.Users.Create, "R", PlatformConsts.AbpIdentity.User.AdminRoleName, tenantId),
new(Guid.NewGuid(), IdentityPermissions.Users.Delete, "R", PlatformConsts.AbpIdentity.User.AdminRoleName, tenantId),
new(Guid.NewGuid(), IdentityPermissions.Users.Update, "R", PlatformConsts.AbpIdentity.User.AdminRoleName, tenantId),
new(Guid.NewGuid(), IdentityPermissions.Users.ManagePermissions, "R", PlatformConsts.AbpIdentity.User.AdminRoleName, tenantId),
new(Guid.NewGuid(), IdentityPermissions.Users.Default + ".Export", "R", PlatformConsts.AbpIdentity.User.AdminRoleName, tenantId),
new(Guid.NewGuid(), IdentityPermissions.Users.ManageRoles, "R", PlatformConsts.AbpIdentity.User.AdminRoleName, tenantId),
new(Guid.NewGuid(), IdentityPermissions.UserLookup.Default, "R", PlatformConsts.AbpIdentity.User.AdminRoleName, tenantId),
]);

View file

@ -1286,31 +1286,31 @@
},
{
"resourceName": "Platform",
"key": "AbpLocalization",
"key": "Abp.Localization",
"en": "Localization",
"tr": "Yerelleştirme"
},
{
"resourceName": "Platform",
"key": "AbpLocalization.DefaultLanguage",
"key": "Abp.Localization.DefaultLanguage",
"en": "Default Language",
"tr": "Varsayılan Dil"
},
{
"resourceName": "Platform",
"key": "AbpLocalization.DefaultLanguage.Description",
"key": "Abp.Localization.DefaultLanguage.Description",
"en": "Default Language Description",
"tr": "Varsayılan Dil Açıklaması"
},
{
"resourceName": "Platform",
"key": "AbpLocalization.Timezone",
"key": "Abp.Localization.Timezone",
"en": "Timezone",
"tr": "Saat Dilimi"
},
{
"resourceName": "Platform",
"key": "AbpLocalization.Timezone.Description",
"key": "Abp.Localization.Timezone.Description",
"en": "Timezone Description",
"tr": "Saat Dilimi Açıklaması"
},
@ -4061,17 +4061,17 @@
],
"Settings": [
{
"code": "AbpLocalization.DefaultLanguage",
"nameKey": "AbpLocalization.DefaultLanguage",
"descriptionKey": "AbpLocalization.DefaultLanguage.Description",
"code": "Abp.Localization.DefaultLanguage",
"nameKey": "Abp.Localization.DefaultLanguage",
"descriptionKey": "Abp.Localization.DefaultLanguage.Description",
"defaultValue": "en",
"isVisibleToClients": false,
"providers": ["G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "App.SiteManagement",
"subGroupKey": "AbpLocalization",
"requiredPermissionName": "AbpLocalization",
"subGroupKey": "Abp.Localization",
"requiredPermissionName": "Abp.Localization",
"dataType": "List",
"selectOptions": {
"ar": "العربية",
@ -4095,17 +4095,17 @@
"order": 1
},
{
"code": "AbpLocalization.Timezone",
"nameKey": "AbpLocalization.Timezone",
"descriptionKey": "AbpLocalization.Timezone.Description",
"code": "Abp.Localization.Timezone",
"nameKey": "Abp.Localization.Timezone",
"descriptionKey": "Abp.Localization.Timezone.Description",
"defaultValue": "UTC",
"isVisibleToClients": false,
"providers": ["G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "App.SiteManagement",
"subGroupKey": "AbpLocalization",
"requiredPermissionName": "AbpLocalization",
"subGroupKey": "Abp.Localization",
"requiredPermissionName": "Abp.Localization",
"dataType": "Text",
"selectOptions": {},
"order": 2
@ -4116,7 +4116,7 @@
"descriptionKey": "App.SiteManagement.Theme.Style.Description",
"defaultValue": "dx.light.compact",
"isVisibleToClients": true,
"providers": ["G", "D"],
"providers": ["U", "G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "App.SiteManagement",
@ -4196,7 +4196,7 @@
"descriptionKey": "App.Sender.Sms.PostaGuvercini.Url.Description",
"defaultValue": "https://www.postaguvercini.com/api_http",
"isVisibleToClients": false,
"providers": ["G", "D", "T"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "App.Sender",
@ -4212,7 +4212,7 @@
"descriptionKey": "App.Sender.Sms.PostaGuvercini.Username.Description",
"defaultValue": "2AIlj4QlCrvlbDDBS/712A==",
"isVisibleToClients": false,
"providers": ["G", "D", "T"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": true,
"mainGroupKey": "App.Sender",
@ -4228,7 +4228,7 @@
"descriptionKey": "App.Sender.Sms.PostaGuvercini.Password.Description",
"defaultValue": "oTuwyZM9sxfJI+jDH5wJAw==",
"isVisibleToClients": false,
"providers": ["G", "D", "T"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": true,
"mainGroupKey": "App.Sender",
@ -4244,7 +4244,7 @@
"descriptionKey": "App.Sender.WhatsApp.Url.Description",
"defaultValue": "https://graph.facebook.com/v21.0",
"isVisibleToClients": false,
"providers": ["G", "D", "T"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "App.Sender",
@ -4260,7 +4260,7 @@
"descriptionKey": "App.Sender.WhatsApp.PhoneNumberId.Description",
"defaultValue": "442035112335974",
"isVisibleToClients": false,
"providers": ["G", "D", "T"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "App.Sender",
@ -4276,7 +4276,7 @@
"descriptionKey": "App.Sender.WhatsApp.Token.Description",
"defaultValue": "EAANoftqZAJ64BO5oPwXPqniUtNGF70u8TKvQVzGZBaYQh5UY8fYrgQkcXP9UbQUqT9PWRah1L7TzcBIiWQMacT8AkmZB33AP1begLoywIZCsQSdBSUz21GQaCowfVosYgBoXSyqH8irSBPQDLIjxxVxrC2n76SD9X6zPXeHgOqIPY92DqJXplstWrlhtZCAZDZD",
"isVisibleToClients": false,
"providers": ["G", "D", "T"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "App.Sender",
@ -4292,7 +4292,7 @@
"descriptionKey": "App.Sender.WhatsApp.TemplateName.Description",
"defaultValue": "kurs_platform_notification",
"isVisibleToClients": false,
"providers": ["G", "D", "T"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "App.Sender",
@ -4308,7 +4308,7 @@
"descriptionKey": "App.Sender.Rocket.Url.Description",
"defaultValue": "https://chat.sozsoft.com/api/v1",
"isVisibleToClients": false,
"providers": ["G", "D", "T"],
"providers": ["G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "App.Sender",
@ -4324,7 +4324,7 @@
"descriptionKey": "App.Sender.Rocket.UserId.Description",
"defaultValue": "LfpzPjzag4QJXm84N",
"isVisibleToClients": false,
"providers": ["G", "D", "T"],
"providers": ["G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "App.Sender",
@ -4340,7 +4340,7 @@
"descriptionKey": "App.Sender.Rocket.Token.Description",
"defaultValue": "jvqALawvXn0Q7c6FfHJV3h58DCHDfQLgFF5y7oIc7oc",
"isVisibleToClients": false,
"providers": ["G", "D", "T"],
"providers": ["G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "App.Sender",
@ -4356,7 +4356,7 @@
"descriptionKey": "Abp.Mailing.DefaultFromDisplayName.Description",
"defaultValue": "Kurs",
"isVisibleToClients": false,
"providers": ["G", "D", "T"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "Abp.Mailing",
@ -4372,7 +4372,7 @@
"descriptionKey": "Abp.Mailing.DefaultFromAddress.Description",
"defaultValue": "system@sozsoft.com",
"isVisibleToClients": false,
"providers": ["G", "D", "T"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "Abp.Mailing",
@ -4388,7 +4388,7 @@
"descriptionKey": "Abp.Mailing.Smtp.UserName.Description",
"defaultValue": "system@sozsoft.com",
"isVisibleToClients": false,
"providers": ["G", "D", "T"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "Abp.Mailing",
@ -4404,7 +4404,7 @@
"descriptionKey": "Abp.Mailing.Smtp.Password.Description",
"defaultValue": "QT9L7BCl1CT/1Hq19HoSlQ==",
"isVisibleToClients": false,
"providers": ["G", "D", "T"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": true,
"mainGroupKey": "Abp.Mailing",
@ -4420,7 +4420,7 @@
"descriptionKey": "Abp.Mailing.Smtp.Host.Description",
"defaultValue": "127.0.0.1",
"isVisibleToClients": false,
"providers": ["G", "D", "T"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "Abp.Mailing",
@ -4436,7 +4436,7 @@
"descriptionKey": "Abp.Mailing.Smtp.Port.Description",
"defaultValue": "25",
"isVisibleToClients": false,
"providers": ["G", "D", "T"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "Abp.Mailing",
@ -4452,7 +4452,7 @@
"descriptionKey": "Abp.Mailing.Smtp.Domain.Description",
"defaultValue": "sozsoft.com",
"isVisibleToClients": false,
"providers": ["G", "D", "T"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "Abp.Mailing",
@ -4468,7 +4468,7 @@
"descriptionKey": "Abp.Mailing.Smtp.EnableSsl.Description",
"defaultValue": "True",
"isVisibleToClients": false,
"providers": ["G", "D", "T"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "Abp.Mailing",
@ -4484,7 +4484,7 @@
"descriptionKey": "Abp.Mailing.AWS.Profile.Description",
"defaultValue": "mail-sdk-user",
"isVisibleToClients": false,
"providers": ["G", "D", "T"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "Abp.Mailing",
@ -4500,7 +4500,7 @@
"descriptionKey": "Abp.Mailing.AWS.Region.Description",
"defaultValue": "eu-central-1",
"isVisibleToClients": false,
"providers": ["G", "D", "T"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "Abp.Mailing",
@ -4516,7 +4516,7 @@
"descriptionKey": "Abp.Mailing.AWS.AccessKey.Description",
"defaultValue": "aXW8L21rP6dPO6Txj76Be2FCpWRBa25EMrSAVL76",
"isVisibleToClients": false,
"providers": ["G", "D", "T"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "Abp.Mailing",
@ -4532,7 +4532,7 @@
"descriptionKey": "Abp.Mailing.AWS.AccessKeyId.Description",
"defaultValue": "AKIATULUYBLX4IY3S2P1",
"isVisibleToClients": false,
"providers": ["G", "D", "T"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "Abp.Mailing",
@ -4580,7 +4580,7 @@
"descriptionKey": "Abp.Account.TwoFactor.Enabled.Description",
"defaultValue": "True",
"isVisibleToClients": false,
"providers": ["G", "D"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "Abp.Account",
@ -4660,7 +4660,7 @@
"descriptionKey": "Abp.Identity.Profile.General.RequireVerifiedAccount.Description",
"defaultValue": "True",
"isVisibleToClients": false,
"providers": ["G", "D"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "Abp.Identity",
@ -4676,7 +4676,7 @@
"descriptionKey": "Abp.Identity.Profile.General.BlacklistedEmailProviders.Description",
"defaultValue": "gmail.com\r\nyahoo.com\r\nhotmail.com",
"isVisibleToClients": false,
"providers": ["G", "D"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "Abp.Identity",
@ -4692,7 +4692,7 @@
"descriptionKey": "Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword.Description",
"defaultValue": "True",
"isVisibleToClients": false,
"providers": ["G", "D"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "Abp.Identity",
@ -4708,7 +4708,7 @@
"descriptionKey": "Abp.Identity.Password.PasswordChangePeriodDays.Description",
"defaultValue": "0",
"isVisibleToClients": false,
"providers": ["G", "D"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "Abp.Identity",
@ -4724,7 +4724,7 @@
"descriptionKey": "Abp.Identity.Password.RequiredLength.Description",
"defaultValue": "6",
"isVisibleToClients": false,
"providers": ["G", "D"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "Abp.Identity",
@ -4740,7 +4740,7 @@
"descriptionKey": "Abp.Identity.Password.RequiredUniqueChars.Description",
"defaultValue": "1",
"isVisibleToClients": false,
"providers": ["G", "D"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "Abp.Identity",
@ -4756,7 +4756,7 @@
"descriptionKey": "Abp.Identity.Password.RequireNonAlphanumeric.Description",
"defaultValue": "True",
"isVisibleToClients": false,
"providers": ["G", "D"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "Abp.Identity",
@ -4772,7 +4772,7 @@
"descriptionKey": "Abp.Identity.Password.RequireLowercase.Description",
"defaultValue": "True",
"isVisibleToClients": false,
"providers": ["G", "D"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "Abp.Identity",
@ -4788,7 +4788,7 @@
"descriptionKey": "Abp.Identity.Password.RequireUppercase.Description",
"defaultValue": "True",
"isVisibleToClients": false,
"providers": ["G", "D"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "Abp.Identity",
@ -4804,7 +4804,7 @@
"descriptionKey": "Abp.Identity.Password.RequireDigit.Description",
"defaultValue": "True",
"isVisibleToClients": false,
"providers": ["G", "D"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "Abp.Identity",
@ -4820,7 +4820,7 @@
"descriptionKey": "Abp.Identity.Lockout.AllowedForNewUsers.Description",
"defaultValue": "True",
"isVisibleToClients": false,
"providers": ["G", "D"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "Abp.Identity",
@ -4836,7 +4836,7 @@
"descriptionKey": "Abp.Identity.Lockout.LockoutDuration.Description",
"defaultValue": "300",
"isVisibleToClients": false,
"providers": ["G", "D"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "Abp.Identity",
@ -4852,7 +4852,7 @@
"descriptionKey": "Abp.Identity.Lockout.MaxFailedAccessAttempts.Description",
"defaultValue": "5",
"isVisibleToClients": false,
"providers": ["G", "D"],
"providers": ["T", "G", "D"],
"isInherited": false,
"isEncrypted": false,
"mainGroupKey": "Abp.Identity",
@ -4973,17 +4973,5 @@
"d": "App.Listforms.Chart.Delete"
}
}
],
"Permissions": [
{
"Name": "asda",
"GroupName": "asd",
"ParentName": "asdas"
},
{
"Name": "asda",
"GroupName": "asd",
"ParentName": "asdas"
}
]
}

View file

@ -168,7 +168,7 @@ public static class SeedConsts
{
public static class AbpLocalization
{
public const string GroupName = "AbpLocalization";
public const string GroupName = $"{Prefix.Abp}.Localization";
public const string DefaultLanguage = GroupName + ".DefaultLanguage";
public const string Timezone = GroupName + ".Timezone";

View file

@ -248,12 +248,14 @@ public class DatabaseMigrationEventHandler :
new(Guid.NewGuid(), IdentityPermissions.Roles.Create, "R", PlatformConsts.AbpIdentity.User.AdminRoleName, eventData.TenantId),
new(Guid.NewGuid(), IdentityPermissions.Roles.Delete, "R", PlatformConsts.AbpIdentity.User.AdminRoleName, eventData.TenantId),
new(Guid.NewGuid(), IdentityPermissions.Roles.Update, "R", PlatformConsts.AbpIdentity.User.AdminRoleName, eventData.TenantId),
new(Guid.NewGuid(), IdentityPermissions.Roles.Default + ".Export", "R", PlatformConsts.AbpIdentity.User.AdminRoleName, eventData.TenantId),
new(Guid.NewGuid(), IdentityPermissions.Roles.ManagePermissions, "R", PlatformConsts.AbpIdentity.User.AdminRoleName, eventData.TenantId),
new(Guid.NewGuid(), IdentityPermissions.Users.Default, "R", PlatformConsts.AbpIdentity.User.AdminRoleName, eventData.TenantId),
new(Guid.NewGuid(), IdentityPermissions.Users.Create, "R", PlatformConsts.AbpIdentity.User.AdminRoleName, eventData.TenantId),
new(Guid.NewGuid(), IdentityPermissions.Users.Delete, "R", PlatformConsts.AbpIdentity.User.AdminRoleName, eventData.TenantId),
new(Guid.NewGuid(), IdentityPermissions.Users.Update, "R", PlatformConsts.AbpIdentity.User.AdminRoleName, eventData.TenantId),
new(Guid.NewGuid(), IdentityPermissions.Users.ManagePermissions, "R", PlatformConsts.AbpIdentity.User.AdminRoleName, eventData.TenantId),
new(Guid.NewGuid(), IdentityPermissions.Users.Default + ".Export", "R", PlatformConsts.AbpIdentity.User.AdminRoleName, eventData.TenantId),
new(Guid.NewGuid(), IdentityPermissions.Users.ManageRoles, "R", PlatformConsts.AbpIdentity.User.AdminRoleName, eventData.TenantId),
new(Guid.NewGuid(), IdentityPermissions.UserLookup.Default, "R", PlatformConsts.AbpIdentity.User.AdminRoleName, eventData.TenantId),
]);

View file

@ -80,12 +80,17 @@ const Footer: React.FC = () => {
</li>
<li>
<Link to="/services" className="text-gray-400 hover:text-white transition-colors">
{t('services.consulting.title')}
{t('services.database.title')}
</Link>
</li>
<li>
<Link to="/services" className="text-gray-400 hover:text-white transition-colors">
{t('services.maintenance.title')}
{t('services.integration.title')}
</Link>
</li>
<li>
<Link to="/services" className="text-gray-400 hover:text-white transition-colors">
{t('services.consulting.title')}
</Link>
</li>
</ul>

View file

@ -400,7 +400,7 @@ const translations = {
// Hero Section
// Hero Section
"hero.title": "The World's Leading Language Course Software",
"hero.title": "The Turkey's Leading Language Course Software",
"hero.subtitle":
"With over 20 years of experience, we help you take your business one step ahead in the digital world with our software solutions developed specifically for language schools and courses.",
"hero.cta.consultation": "Request a Free Demo",

View file

@ -78,10 +78,6 @@ const Login = () => {
return null
}
if (parts[0] === 'www') {
return parts[1]
}
return parts[0].toUpperCase()
}
@ -174,7 +170,6 @@ const Login = () => {
}
const subDomainName = getSubdomain()
//const subDomainName = 'KURS2'
const tenantId = useStoreState((a) => a.auth.tenantId) ?? subDomainName
const tenantStyle: React.CSSProperties | undefined =
subDomainName && subDomainName !== defaultSubDomain
@ -190,10 +185,14 @@ const Login = () => {
: undefined
useEffect(() => {
if (!isMultiTenant) {
return
if (!isMultiTenant) return
const subDomainName = getSubdomain()
if (subDomainName?.toUpperCase() === defaultSubDomain) {
setTenantId('')
} else {
setTenantId(subDomainName || '')
}
setTenantId(subDomainName || '')
}, [isMultiTenant])
return (