+
@Body
+
diff --git a/modules/basic-theme/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/Themes/Basic/Layouts/Account.cshtml b/modules/basic-theme/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/Themes/Basic/Layouts/Account.cshtml
index f71171912c..5e2ca98ba7 100644
--- a/modules/basic-theme/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/Themes/Basic/Layouts/Account.cshtml
+++ b/modules/basic-theme/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/Themes/Basic/Layouts/Account.cshtml
@@ -12,6 +12,7 @@
@using Volo.Abp.MultiTenancy
@using Volo.Abp.Localization
@using Volo.Abp.Ui.Branding
+@using Volo.Abp.Ui.LayoutHooks
@inject IBrandingProvider BrandingProvider
@inject IOptions
MultiTenancyOptions
@inject ICurrentTenant CurrentTenant
diff --git a/modules/basic-theme/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/Themes/Basic/Layouts/Application.cshtml b/modules/basic-theme/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/Themes/Basic/Layouts/Application.cshtml
index 23c19c077d..42f2b2ead2 100644
--- a/modules/basic-theme/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/Themes/Basic/Layouts/Application.cshtml
+++ b/modules/basic-theme/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/Themes/Basic/Layouts/Application.cshtml
@@ -8,6 +8,7 @@
@using Volo.Abp.AspNetCore.Mvc.UI.Widgets.Components.WidgetStyles
@using Volo.Abp.Localization
@using Volo.Abp.Ui.Branding
+@using Volo.Abp.Ui.LayoutHooks
@inject IBrandingProvider BrandingProvider
@inject IPageLayout PageLayout
@{
diff --git a/modules/basic-theme/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/Themes/Basic/Layouts/Empty.cshtml b/modules/basic-theme/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/Themes/Basic/Layouts/Empty.cshtml
index 70c7d5e1e8..6d3461be43 100644
--- a/modules/basic-theme/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/Themes/Basic/Layouts/Empty.cshtml
+++ b/modules/basic-theme/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/Themes/Basic/Layouts/Empty.cshtml
@@ -7,6 +7,7 @@
@using Volo.Abp.AspNetCore.Mvc.UI.Widgets.Components.WidgetStyles
@using Volo.Abp.Localization
@using Volo.Abp.Ui.Branding
+@using Volo.Abp.Ui.LayoutHooks
@inject IBrandingProvider BrandingProvider
@inject IPageLayout PageLayout
@{
diff --git a/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.Domain/Volo/Abp/BlobStoring/Database/BlobStoringDatabaseDbProperties.cs b/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.Domain/Volo/Abp/BlobStoring/Database/AbpBlobStoringDatabaseDbProperties.cs
similarity index 85%
rename from modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.Domain/Volo/Abp/BlobStoring/Database/BlobStoringDatabaseDbProperties.cs
rename to modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.Domain/Volo/Abp/BlobStoring/Database/AbpBlobStoringDatabaseDbProperties.cs
index a9689eb9fd..19985351de 100644
--- a/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.Domain/Volo/Abp/BlobStoring/Database/BlobStoringDatabaseDbProperties.cs
+++ b/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.Domain/Volo/Abp/BlobStoring/Database/AbpBlobStoringDatabaseDbProperties.cs
@@ -2,7 +2,7 @@
namespace Volo.Abp.BlobStoring.Database;
-public static class BlobStoringDatabaseDbProperties
+public static class AbpBlobStoringDatabaseDbProperties
{
public static string DbTablePrefix { get; set; } = AbpCommonDbProperties.DbTablePrefix;
diff --git a/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.EntityFrameworkCore/Volo/Abp/BlobStoring/Database/EntityFrameworkCore/BlobStoringDbContext.cs b/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.EntityFrameworkCore/Volo/Abp/BlobStoring/Database/EntityFrameworkCore/BlobStoringDbContext.cs
index b20f5190c4..f3e7661366 100644
--- a/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.EntityFrameworkCore/Volo/Abp/BlobStoring/Database/EntityFrameworkCore/BlobStoringDbContext.cs
+++ b/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.EntityFrameworkCore/Volo/Abp/BlobStoring/Database/EntityFrameworkCore/BlobStoringDbContext.cs
@@ -4,7 +4,7 @@ using Volo.Abp.EntityFrameworkCore;
namespace Volo.Abp.BlobStoring.Database.EntityFrameworkCore;
-[ConnectionStringName(BlobStoringDatabaseDbProperties.ConnectionStringName)]
+[ConnectionStringName(AbpBlobStoringDatabaseDbProperties.ConnectionStringName)]
public class BlobStoringDbContext : AbpDbContext, IBlobStoringDbContext
{
public DbSet BlobContainers { get; set; }
diff --git a/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.EntityFrameworkCore/Volo/Abp/BlobStoring/Database/EntityFrameworkCore/BlobStoringDbContextModelCreatingExtensions.cs b/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.EntityFrameworkCore/Volo/Abp/BlobStoring/Database/EntityFrameworkCore/BlobStoringDbContextModelCreatingExtensions.cs
index e4fad62e37..6be009f3ec 100644
--- a/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.EntityFrameworkCore/Volo/Abp/BlobStoring/Database/EntityFrameworkCore/BlobStoringDbContextModelCreatingExtensions.cs
+++ b/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.EntityFrameworkCore/Volo/Abp/BlobStoring/Database/EntityFrameworkCore/BlobStoringDbContextModelCreatingExtensions.cs
@@ -12,7 +12,7 @@ public static class BlobStoringDbContextModelCreatingExtensions
builder.Entity(b =>
{
- b.ToTable(BlobStoringDatabaseDbProperties.DbTablePrefix + "BlobContainers", BlobStoringDatabaseDbProperties.DbSchema);
+ b.ToTable(AbpBlobStoringDatabaseDbProperties.DbTablePrefix + "BlobContainers", AbpBlobStoringDatabaseDbProperties.DbSchema);
b.ConfigureByConvention();
@@ -27,7 +27,7 @@ public static class BlobStoringDbContextModelCreatingExtensions
builder.Entity(b =>
{
- b.ToTable(BlobStoringDatabaseDbProperties.DbTablePrefix + "Blobs", BlobStoringDatabaseDbProperties.DbSchema);
+ b.ToTable(AbpBlobStoringDatabaseDbProperties.DbTablePrefix + "Blobs", AbpBlobStoringDatabaseDbProperties.DbSchema);
b.ConfigureByConvention();
diff --git a/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.EntityFrameworkCore/Volo/Abp/BlobStoring/Database/EntityFrameworkCore/IBlobStoringDbContext.cs b/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.EntityFrameworkCore/Volo/Abp/BlobStoring/Database/EntityFrameworkCore/IBlobStoringDbContext.cs
index b36c0753d3..b139d8473b 100644
--- a/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.EntityFrameworkCore/Volo/Abp/BlobStoring/Database/EntityFrameworkCore/IBlobStoringDbContext.cs
+++ b/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.EntityFrameworkCore/Volo/Abp/BlobStoring/Database/EntityFrameworkCore/IBlobStoringDbContext.cs
@@ -4,7 +4,7 @@ using Volo.Abp.EntityFrameworkCore;
namespace Volo.Abp.BlobStoring.Database.EntityFrameworkCore;
-[ConnectionStringName(BlobStoringDatabaseDbProperties.ConnectionStringName)]
+[ConnectionStringName(AbpBlobStoringDatabaseDbProperties.ConnectionStringName)]
public interface IBlobStoringDbContext : IEfCoreDbContext
{
DbSet BlobContainers { get; }
diff --git a/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.MongoDB/Volo/Abp/BlobStoring/Database/MongoDB/BlobStoringMongoDbContext.cs b/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.MongoDB/Volo/Abp/BlobStoring/Database/MongoDB/BlobStoringMongoDbContext.cs
index d0be5f4973..108804fbb9 100644
--- a/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.MongoDB/Volo/Abp/BlobStoring/Database/MongoDB/BlobStoringMongoDbContext.cs
+++ b/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.MongoDB/Volo/Abp/BlobStoring/Database/MongoDB/BlobStoringMongoDbContext.cs
@@ -4,7 +4,7 @@ using Volo.Abp.MongoDB;
namespace Volo.Abp.BlobStoring.Database.MongoDB;
-[ConnectionStringName(BlobStoringDatabaseDbProperties.ConnectionStringName)]
+[ConnectionStringName(AbpBlobStoringDatabaseDbProperties.ConnectionStringName)]
public class BlobStoringMongoDbContext : AbpMongoDbContext, IBlobStoringMongoDbContext
{
public IMongoCollection BlobContainers => Collection();
diff --git a/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.MongoDB/Volo/Abp/BlobStoring/Database/MongoDB/BlobStoringMongoDbContextExtensions.cs b/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.MongoDB/Volo/Abp/BlobStoring/Database/MongoDB/BlobStoringMongoDbContextExtensions.cs
index 7943215534..28c3bdde7f 100644
--- a/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.MongoDB/Volo/Abp/BlobStoring/Database/MongoDB/BlobStoringMongoDbContextExtensions.cs
+++ b/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.MongoDB/Volo/Abp/BlobStoring/Database/MongoDB/BlobStoringMongoDbContextExtensions.cs
@@ -11,12 +11,12 @@ public static class BlobStoringMongoDbContextExtensions
builder.Entity(b =>
{
- b.CollectionName = BlobStoringDatabaseDbProperties.DbTablePrefix + "BlobContainers";
+ b.CollectionName = AbpBlobStoringDatabaseDbProperties.DbTablePrefix + "BlobContainers";
});
builder.Entity(b =>
{
- b.CollectionName = BlobStoringDatabaseDbProperties.DbTablePrefix + "Blobs";
+ b.CollectionName = AbpBlobStoringDatabaseDbProperties.DbTablePrefix + "Blobs";
});
}
}
diff --git a/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.MongoDB/Volo/Abp/BlobStoring/Database/MongoDB/IBlobStoringMongoDbContext.cs b/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.MongoDB/Volo/Abp/BlobStoring/Database/MongoDB/IBlobStoringMongoDbContext.cs
index 1fcf61b146..803ed5171d 100644
--- a/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.MongoDB/Volo/Abp/BlobStoring/Database/MongoDB/IBlobStoringMongoDbContext.cs
+++ b/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.MongoDB/Volo/Abp/BlobStoring/Database/MongoDB/IBlobStoringMongoDbContext.cs
@@ -4,7 +4,7 @@ using Volo.Abp.MongoDB;
namespace Volo.Abp.BlobStoring.Database.MongoDB;
-[ConnectionStringName(BlobStoringDatabaseDbProperties.ConnectionStringName)]
+[ConnectionStringName(AbpBlobStoringDatabaseDbProperties.ConnectionStringName)]
public interface IBlobStoringMongoDbContext : IAbpMongoDbContext
{
IMongoCollection BlobContainers { get; }
diff --git a/modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Localization/Resources/pt-BR.json b/modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Localization/Resources/pt-BR.json
index f26b339d71..bb19760972 100644
--- a/modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Localization/Resources/pt-BR.json
+++ b/modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Localization/Resources/pt-BR.json
@@ -37,7 +37,7 @@
"Edit": "Editar",
"BLOG": "BLOG",
"CommentDeletionWarningMessage": "O comentário será excluído.",
- "PostDeletionWarningMessage": "O post será excluído.",
+ "PostDeletionWarningMessage": "A postagem será excluída.",
"BlogDeletionWarningMessage": "O Blog será excluído.",
"AreYouSure": "Você tem certeza?",
"CommentWithCount": "{0} comentários",
@@ -54,8 +54,10 @@
"Blogs": "Blogs",
"Tags": "Etiquetas",
"ShareOn": "Compartilhar no",
- "TitleLengthWarning": "Mantenha o tamanho do título abaixo de 60 caracteres para ser SEO amigável!",
+ "TitleLengthWarning": "Mantenha o tamanho do título abaixo de 60 caracteres para ser amigável ao SEO!",
"ClearCache": "Limpar cache",
- "ClearCacheConfirmationMessage": "Tem certeza de que deseja limpar o cache?"
+ "ClearCacheConfirmationMessage": "Tem certeza de que deseja limpar o cache?",
+ "MarkdownSupported": "Markdown é suportado",
+ "FileUploadInfo": "Arrastar, soltar, ou colar uma imagem copiada."
}
}
\ No newline at end of file
diff --git a/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/BloggingDbProperties.cs b/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/AbpBloggingDbProperties.cs
similarity index 90%
rename from modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/BloggingDbProperties.cs
rename to modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/AbpBloggingDbProperties.cs
index 6f57d5f404..464ea2c348 100644
--- a/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/BloggingDbProperties.cs
+++ b/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/AbpBloggingDbProperties.cs
@@ -1,6 +1,6 @@
namespace Volo.Blogging
{
- public static class BloggingDbProperties
+ public static class AbpBloggingDbProperties
{
///
/// Default value: "Blg".
diff --git a/modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/EntityFrameworkCore/BloggingDbContext.cs b/modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/EntityFrameworkCore/BloggingDbContext.cs
index 85c34aa996..9ccbe3aa3b 100644
--- a/modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/EntityFrameworkCore/BloggingDbContext.cs
+++ b/modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/EntityFrameworkCore/BloggingDbContext.cs
@@ -11,7 +11,7 @@ using Volo.Blogging.Users;
namespace Volo.Blogging.EntityFrameworkCore
{
[IgnoreMultiTenancy]
- [ConnectionStringName(BloggingDbProperties.ConnectionStringName)]
+ [ConnectionStringName(AbpBloggingDbProperties.ConnectionStringName)]
public class BloggingDbContext : AbpDbContext, IBloggingDbContext
{
public DbSet Users { get; set; }
diff --git a/modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/EntityFrameworkCore/BloggingDbContextModelBuilderExtensions.cs b/modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/EntityFrameworkCore/BloggingDbContextModelBuilderExtensions.cs
index 3386da25a5..abf96ebcef 100644
--- a/modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/EntityFrameworkCore/BloggingDbContextModelBuilderExtensions.cs
+++ b/modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/EntityFrameworkCore/BloggingDbContextModelBuilderExtensions.cs
@@ -25,7 +25,7 @@ namespace Volo.Blogging.EntityFrameworkCore
builder.Entity(b =>
{
- b.ToTable(BloggingDbProperties.DbTablePrefix + "Users", BloggingDbProperties.DbSchema);
+ b.ToTable(AbpBloggingDbProperties.DbTablePrefix + "Users", AbpBloggingDbProperties.DbSchema);
b.ConfigureByConvention();
b.ConfigureAbpUser();
@@ -35,7 +35,7 @@ namespace Volo.Blogging.EntityFrameworkCore
builder.Entity(b =>
{
- b.ToTable(BloggingDbProperties.DbTablePrefix + "Blogs", BloggingDbProperties.DbSchema);
+ b.ToTable(AbpBloggingDbProperties.DbTablePrefix + "Blogs", AbpBloggingDbProperties.DbSchema);
b.ConfigureByConvention();
@@ -48,7 +48,7 @@ namespace Volo.Blogging.EntityFrameworkCore
builder.Entity(b =>
{
- b.ToTable(BloggingDbProperties.DbTablePrefix + "Posts", BloggingDbProperties.DbSchema);
+ b.ToTable(AbpBloggingDbProperties.DbTablePrefix + "Posts", AbpBloggingDbProperties.DbSchema);
b.ConfigureByConvention();
@@ -68,7 +68,7 @@ namespace Volo.Blogging.EntityFrameworkCore
builder.Entity(b =>
{
- b.ToTable(BloggingDbProperties.DbTablePrefix + "Comments", BloggingDbProperties.DbSchema);
+ b.ToTable(AbpBloggingDbProperties.DbTablePrefix + "Comments", AbpBloggingDbProperties.DbSchema);
b.ConfigureByConvention();
@@ -84,7 +84,7 @@ namespace Volo.Blogging.EntityFrameworkCore
builder.Entity(b =>
{
- b.ToTable(BloggingDbProperties.DbTablePrefix + "Tags", BloggingDbProperties.DbSchema);
+ b.ToTable(AbpBloggingDbProperties.DbTablePrefix + "Tags", AbpBloggingDbProperties.DbSchema);
b.ConfigureByConvention();
@@ -99,7 +99,7 @@ namespace Volo.Blogging.EntityFrameworkCore
builder.Entity(b =>
{
- b.ToTable(BloggingDbProperties.DbTablePrefix + "PostTags", BloggingDbProperties.DbSchema);
+ b.ToTable(AbpBloggingDbProperties.DbTablePrefix + "PostTags", AbpBloggingDbProperties.DbSchema);
b.ConfigureByConvention();
diff --git a/modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/EntityFrameworkCore/IBloggingDbContext.cs b/modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/EntityFrameworkCore/IBloggingDbContext.cs
index 4eb8f35c03..ce63597029 100644
--- a/modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/EntityFrameworkCore/IBloggingDbContext.cs
+++ b/modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/EntityFrameworkCore/IBloggingDbContext.cs
@@ -11,7 +11,7 @@ using Volo.Blogging.Users;
namespace Volo.Blogging.EntityFrameworkCore
{
[IgnoreMultiTenancy]
- [ConnectionStringName(BloggingDbProperties.ConnectionStringName)]
+ [ConnectionStringName(AbpBloggingDbProperties.ConnectionStringName)]
public interface IBloggingDbContext : IEfCoreDbContext
{
DbSet Users { get; }
diff --git a/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/MongoDB/BloggingMongoDbContext.cs b/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/MongoDB/BloggingMongoDbContext.cs
index 1f20ff1744..d782f0fb1b 100644
--- a/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/MongoDB/BloggingMongoDbContext.cs
+++ b/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/MongoDB/BloggingMongoDbContext.cs
@@ -10,7 +10,7 @@ using Volo.Blogging.Users;
namespace Volo.Blogging.MongoDB
{
[IgnoreMultiTenancy]
- [ConnectionStringName(BloggingDbProperties.ConnectionStringName)]
+ [ConnectionStringName(AbpBloggingDbProperties.ConnectionStringName)]
public class BloggingMongoDbContext : AbpMongoDbContext, IBloggingMongoDbContext
{
public IMongoCollection Users => Collection();
diff --git a/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/MongoDB/BloggingMongoDbContextExtensions.cs b/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/MongoDB/BloggingMongoDbContextExtensions.cs
index b04f0a74fc..1083169761 100644
--- a/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/MongoDB/BloggingMongoDbContextExtensions.cs
+++ b/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/MongoDB/BloggingMongoDbContextExtensions.cs
@@ -16,27 +16,27 @@ namespace Volo.Blogging.MongoDB
builder.Entity(b =>
{
- b.CollectionName = BloggingDbProperties.DbTablePrefix + "Users";
+ b.CollectionName = AbpBloggingDbProperties.DbTablePrefix + "Users";
});
builder.Entity(b =>
{
- b.CollectionName = BloggingDbProperties.DbTablePrefix + "Blogs";
+ b.CollectionName = AbpBloggingDbProperties.DbTablePrefix + "Blogs";
});
builder.Entity(b =>
{
- b.CollectionName = BloggingDbProperties.DbTablePrefix + "Posts";
+ b.CollectionName = AbpBloggingDbProperties.DbTablePrefix + "Posts";
});
builder.Entity(b =>
{
- b.CollectionName = BloggingDbProperties.DbTablePrefix + "Tags";
+ b.CollectionName = AbpBloggingDbProperties.DbTablePrefix + "Tags";
});
builder.Entity(b =>
{
- b.CollectionName = BloggingDbProperties.DbTablePrefix + "Comments";
+ b.CollectionName = AbpBloggingDbProperties.DbTablePrefix + "Comments";
});
}
}
diff --git a/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/MongoDB/IBloggingMongoDbContext.cs b/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/MongoDB/IBloggingMongoDbContext.cs
index 1dbf5eee92..d3c898a14d 100644
--- a/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/MongoDB/IBloggingMongoDbContext.cs
+++ b/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/MongoDB/IBloggingMongoDbContext.cs
@@ -10,7 +10,7 @@ using Volo.Blogging.Users;
namespace Volo.Blogging.MongoDB
{
[IgnoreMultiTenancy]
- [ConnectionStringName(BloggingDbProperties.ConnectionStringName)]
+ [ConnectionStringName(AbpBloggingDbProperties.ConnectionStringName)]
public interface IBloggingMongoDbContext : IAbpMongoDbContext
{
IMongoCollection Users { get; }
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Tags/EntityTagSetDto.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Tags/EntityTagSetDto.cs
index 245526cfc2..11466463f8 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Tags/EntityTagSetDto.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Tags/EntityTagSetDto.cs
@@ -1,15 +1,40 @@
using System;
using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
+using System.ComponentModel.DataAnnotations;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Localization;
+using Volo.Abp.Validation.Localization;
+using Volo.CmsKit.Localization;
+using Volo.CmsKit.Tags;
namespace Volo.CmsKit.Admin.Tags;
[Serializable]
-public class EntityTagSetDto
+public class EntityTagSetDto : IValidatableObject
{
public string EntityId { get; set; }
+
public string EntityType { get; set; }
+
+ [Required]
public List Tags { get; set; }
+
+ public IEnumerable Validate(ValidationContext validationContext)
+ {
+ var l = validationContext.GetRequiredService>();
+
+ foreach (var tag in Tags)
+ {
+ if (tag.Length > TagConsts.MaxNameLength)
+ {
+ yield return new ValidationResult(
+ l[
+ "ThisFieldMustBeAStringWithAMaximumLengthOf{0}",
+ TagConsts.MaxNameLength
+ ],
+ new[] { nameof(Tags) }
+ );
+ }
+ }
+ }
}
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogAdminAppService.cs
index 7cd17b7696..5736048076 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogAdminAppService.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogAdminAppService.cs
@@ -1,16 +1,19 @@
-using Microsoft.AspNetCore.Authorization;
-using System;
+using System;
using System.Collections.Generic;
using System.Threading.Tasks;
+using Microsoft.AspNetCore.Authorization;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Data;
+using Volo.Abp.Features;
using Volo.Abp.GlobalFeatures;
using Volo.CmsKit.Blogs;
+using Volo.CmsKit.Features;
using Volo.CmsKit.GlobalFeatures;
using Volo.CmsKit.Permissions;
namespace Volo.CmsKit.Admin.Blogs;
+[RequiresFeature(CmsKitFeatures.BlogEnable)]
[RequiresGlobalFeature(typeof(BlogsFeature))]
[Authorize(CmsKitAdminPermissions.Blogs.Default)]
public class BlogAdminAppService : CmsKitAdminAppServiceBase, IBlogAdminAppService
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogFeatureAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogFeatureAdminAppService.cs
index 823f569bed..774f28634d 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogFeatureAdminAppService.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogFeatureAdminAppService.cs
@@ -1,15 +1,18 @@
-using Microsoft.AspNetCore.Authorization;
-using System;
+using System;
using System.Collections.Generic;
using System.Threading.Tasks;
+using Microsoft.AspNetCore.Authorization;
using Volo.Abp.EventBus.Distributed;
+using Volo.Abp.Features;
using Volo.Abp.GlobalFeatures;
using Volo.CmsKit.Blogs;
+using Volo.CmsKit.Features;
using Volo.CmsKit.GlobalFeatures;
using Volo.CmsKit.Permissions;
namespace Volo.CmsKit.Admin.Blogs;
+[RequiresFeature(CmsKitFeatures.BlogEnable)]
[RequiresGlobalFeature(typeof(BlogsFeature))]
[Authorize(CmsKitAdminPermissions.Blogs.Features)]
public class BlogFeatureAdminAppService : CmsKitAdminAppServiceBase, IBlogFeatureAdminAppService
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogPostAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogPostAdminAppService.cs
index 9d8fcfd917..297e70344f 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogPostAdminAppService.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogPostAdminAppService.cs
@@ -1,19 +1,22 @@
-using Microsoft.AspNetCore.Authorization;
-using System;
+using System;
using System.Linq;
using System.Threading.Tasks;
+using Microsoft.AspNetCore.Authorization;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Data;
+using Volo.Abp.Features;
using Volo.Abp.GlobalFeatures;
using Volo.Abp.Users;
using Volo.CmsKit.Admin.MediaDescriptors;
using Volo.CmsKit.Blogs;
+using Volo.CmsKit.Features;
using Volo.CmsKit.GlobalFeatures;
using Volo.CmsKit.Permissions;
using Volo.CmsKit.Users;
namespace Volo.CmsKit.Admin.Blogs;
+[RequiresFeature(CmsKitFeatures.BlogEnable)]
[RequiresGlobalFeature(typeof(BlogsFeature))]
[Authorize(CmsKitAdminPermissions.BlogPosts.Default)]
public class BlogPostAdminAppService : CmsKitAppServiceBase, IBlogPostAdminAppService
@@ -66,18 +69,18 @@ public class BlogPostAdminAppService : CmsKitAppServiceBase, IBlogPostAdminAppSe
public virtual async Task UpdateAsync(Guid id, UpdateBlogPostDto input)
{
var blogPost = await BlogPostRepository.GetAsync(id);
-
+
blogPost.SetTitle(input.Title);
blogPost.SetShortDescription(input.ShortDescription);
blogPost.SetContent(input.Content);
blogPost.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp);
-
+
if (blogPost.CoverImageMediaId != null && input.CoverImageMediaId == null)
{
await MediaDescriptorAdminAppService.DeleteAsync(blogPost.CoverImageMediaId.Value);
}
blogPost.CoverImageMediaId = input.CoverImageMediaId;
-
+
if (blogPost.Slug != input.Slug)
{
await BlogPostManager.SetSlugUrlAsync(blogPost, input.Slug);
@@ -146,12 +149,12 @@ public class BlogPostAdminAppService : CmsKitAppServiceBase, IBlogPostAdminAppSe
{
var blogPost = await CreateAsync(input);
await CurrentUnitOfWork.SaveChangesAsync();
-
+
await PublishAsync(blogPost.Id);
blogPost.Status = BlogPostStatus.Published;
return blogPost;
}
-
+
[Authorize(CmsKitAdminPermissions.BlogPosts.Create)]
public virtual async Task SendToReviewAsync(Guid id)
{
@@ -159,13 +162,13 @@ public class BlogPostAdminAppService : CmsKitAppServiceBase, IBlogPostAdminAppSe
blogPost.SetWaitingForReview();
await BlogPostRepository.UpdateAsync(blogPost);
}
-
+
[Authorize(CmsKitAdminPermissions.BlogPosts.Create)]
public virtual async Task CreateAndSendToReviewAsync(CreateBlogPostDto input)
{
var blogPost = await CreateAsync(input);
await CurrentUnitOfWork.SaveChangesAsync();
-
+
await SendToReviewAsync(blogPost.Id);
blogPost.Status = BlogPostStatus.WaitingForReview;
return blogPost;
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Comments/CommentAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Comments/CommentAdminAppService.cs
index 5295557860..973a74b58e 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Comments/CommentAdminAppService.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Comments/CommentAdminAppService.cs
@@ -3,14 +3,17 @@ using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Volo.Abp.Application.Dtos;
+using Volo.Abp.Features;
using Volo.Abp.GlobalFeatures;
using Volo.CmsKit.Comments;
+using Volo.CmsKit.Features;
using Volo.CmsKit.GlobalFeatures;
using Volo.CmsKit.Permissions;
using Volo.CmsKit.Users;
namespace Volo.CmsKit.Admin.Comments;
+[RequiresFeature(CmsKitFeatures.CommentEnable)]
[RequiresGlobalFeature(typeof(CommentsFeature))]
[Authorize(CmsKitAdminPermissions.Comments.Default)]
public class CommentAdminAppService : CmsKitAdminAppServiceBase, ICommentAdminAppService
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/GlobalResources/GlobalResourceAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/GlobalResources/GlobalResourceAdminAppService.cs
index a78a21de41..c5b63db6c3 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/GlobalResources/GlobalResourceAdminAppService.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/GlobalResources/GlobalResourceAdminAppService.cs
@@ -1,13 +1,16 @@
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Volo.Abp.Application.Services;
+using Volo.Abp.Features;
using Volo.Abp.GlobalFeatures;
+using Volo.CmsKit.Features;
using Volo.CmsKit.GlobalFeatures;
using Volo.CmsKit.GlobalResources;
using Volo.CmsKit.Permissions;
namespace Volo.CmsKit.Admin.GlobalResources;
+[RequiresFeature(CmsKitFeatures.GlobalResourceEnable)]
[RequiresGlobalFeature(typeof(GlobalResourcesFeature))]
[Authorize(CmsKitAdminPermissions.GlobalResources.Default)]
public class GlobalResourceAdminAppService : ApplicationService, IGlobalResourceAdminAppService
@@ -18,10 +21,11 @@ public class GlobalResourceAdminAppService : ApplicationService, IGlobalResource
{
GlobalResourceManager = globalResourceManager;
}
-
+
public async Task GetAsync()
{
- return new GlobalResourcesDto {
+ return new GlobalResourcesDto
+ {
StyleContent = (await GlobalResourceManager.GetGlobalStyleAsync()).Value,
ScriptContent = (await GlobalResourceManager.GetGlobalScriptAsync()).Value
};
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/MediaDescriptors/MediaDescriptorAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/MediaDescriptors/MediaDescriptorAdminAppService.cs
index cc785adac0..af347bcc55 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/MediaDescriptors/MediaDescriptorAdminAppService.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/MediaDescriptors/MediaDescriptorAdminAppService.cs
@@ -1,12 +1,15 @@
using System;
using System.Threading.Tasks;
using Volo.Abp.BlobStoring;
+using Volo.Abp.Features;
using Volo.Abp.GlobalFeatures;
+using Volo.CmsKit.Features;
using Volo.CmsKit.GlobalFeatures;
using Volo.CmsKit.MediaDescriptors;
namespace Volo.CmsKit.Admin.MediaDescriptors;
+[RequiresFeature(CmsKitFeatures.MediaEnable)]
[RequiresGlobalFeature(typeof(MediaFeature))]
public class MediaDescriptorAdminAppService : CmsKitAdminAppServiceBase, IMediaDescriptorAdminAppService
{
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Menus/MenuItemAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Menus/MenuItemAdminAppService.cs
index 8ef6ce0346..3ba2a4b5b9 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Menus/MenuItemAdminAppService.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Menus/MenuItemAdminAppService.cs
@@ -1,12 +1,12 @@
-using Microsoft.AspNetCore.Authorization;
-using System;
+using System;
using System.Collections.Generic;
-using System.Linq;
-using System.Text;
using System.Threading.Tasks;
+using Microsoft.AspNetCore.Authorization;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Data;
+using Volo.Abp.Features;
using Volo.Abp.GlobalFeatures;
+using Volo.CmsKit.Features;
using Volo.CmsKit.GlobalFeatures;
using Volo.CmsKit.Menus;
using Volo.CmsKit.Pages;
@@ -14,6 +14,7 @@ using Volo.CmsKit.Permissions;
namespace Volo.CmsKit.Admin.Menus;
+[RequiresFeature(CmsKitFeatures.MenuEnable)]
[RequiresGlobalFeature(typeof(MenuFeature))]
[Authorize(CmsKitAdminPermissions.Menus.Default)]
public class MenuItemAdminAppService : CmsKitAdminAppServiceBase, IMenuItemAdminAppService
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs
index 68f0690555..647568e561 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs
@@ -1,18 +1,19 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
-using AutoMapper;
using Microsoft.AspNetCore.Authorization;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Data;
+using Volo.Abp.Features;
using Volo.Abp.GlobalFeatures;
-using Volo.CmsKit.Admin.Menus;
+using Volo.CmsKit.Features;
using Volo.CmsKit.GlobalFeatures;
using Volo.CmsKit.Pages;
using Volo.CmsKit.Permissions;
namespace Volo.CmsKit.Admin.Pages;
+[RequiresFeature(CmsKitFeatures.PageEnable)]
[RequiresGlobalFeature(typeof(PagesFeature))]
[Authorize(CmsKitAdminPermissions.Pages.Default)]
public class PageAdminAppService : CmsKitAdminAppServiceBase, IPageAdminAppService
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/EntityTagAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/EntityTagAdminAppService.cs
index 8d106b70e0..3cdc4dc093 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/EntityTagAdminAppService.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/EntityTagAdminAppService.cs
@@ -1,10 +1,13 @@
using System.Threading.Tasks;
+using Volo.Abp.Features;
using Volo.Abp.GlobalFeatures;
+using Volo.CmsKit.Features;
using Volo.CmsKit.GlobalFeatures;
using Volo.CmsKit.Tags;
namespace Volo.CmsKit.Admin.Tags;
+[RequiresFeature(CmsKitFeatures.TagEnable)]
[RequiresGlobalFeature(typeof(TagsFeature))]
public class EntityTagAdminAppService : CmsKitAdminAppServiceBase, IEntityTagAdminAppService
{
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/TagAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/TagAdminAppService.cs
index f6de1ac5b9..46324937cc 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/TagAdminAppService.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/TagAdminAppService.cs
@@ -1,18 +1,21 @@
-using Microsoft.AspNetCore.Authorization;
-using Microsoft.Extensions.Localization;
-using System;
+using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.Extensions.Localization;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Data;
+using Volo.Abp.Features;
using Volo.Abp.GlobalFeatures;
+using Volo.CmsKit.Features;
using Volo.CmsKit.GlobalFeatures;
using Volo.CmsKit.Permissions;
using Volo.CmsKit.Tags;
namespace Volo.CmsKit.Admin.Tags;
+[RequiresFeature(CmsKitFeatures.TagEnable)]
[Authorize(CmsKitAdminPermissions.Tags.Default)]
[RequiresGlobalFeature(typeof(TagsFeature))]
public class TagAdminAppService : CmsKitAppServiceBase, ITagAdminAppService
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Blogs/BlogAdminController.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Blogs/BlogAdminController.cs
index 094c1b1b5a..e7d59ddbcd 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Blogs/BlogAdminController.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Blogs/BlogAdminController.cs
@@ -1,15 +1,18 @@
-using Microsoft.AspNetCore.Authorization;
-using Microsoft.AspNetCore.Mvc;
-using System;
+using System;
using System.Threading.Tasks;
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Mvc;
using Volo.Abp;
using Volo.Abp.Application.Dtos;
+using Volo.Abp.Features;
using Volo.Abp.GlobalFeatures;
+using Volo.CmsKit.Features;
using Volo.CmsKit.GlobalFeatures;
using Volo.CmsKit.Permissions;
namespace Volo.CmsKit.Admin.Blogs;
+[RequiresFeature(CmsKitFeatures.BlogEnable)]
[RequiresGlobalFeature(typeof(BlogsFeature))]
[RemoteService(Name = CmsKitAdminRemoteServiceConsts.RemoteServiceName)]
[Area(CmsKitAdminRemoteServiceConsts.ModuleName)]
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Blogs/BlogFeatureAdminController.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Blogs/BlogFeatureAdminController.cs
index e3cc3c5e73..93bdced888 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Blogs/BlogFeatureAdminController.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Blogs/BlogFeatureAdminController.cs
@@ -1,16 +1,19 @@
-using Microsoft.AspNetCore.Authorization;
-using Microsoft.AspNetCore.Mvc;
-using System;
+using System;
using System.Collections.Generic;
using System.Threading.Tasks;
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Mvc;
using Volo.Abp;
+using Volo.Abp.Features;
using Volo.Abp.GlobalFeatures;
using Volo.CmsKit.Blogs;
+using Volo.CmsKit.Features;
using Volo.CmsKit.GlobalFeatures;
using Volo.CmsKit.Permissions;
namespace Volo.CmsKit.Admin.Blogs;
+[RequiresFeature(CmsKitFeatures.BlogEnable)]
[RequiresGlobalFeature(typeof(BlogsFeature))]
[RemoteService(Name = CmsKitAdminRemoteServiceConsts.RemoteServiceName)]
[Area(CmsKitAdminRemoteServiceConsts.ModuleName)]
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Blogs/BlogPostAdminController.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Blogs/BlogPostAdminController.cs
index 563d90c254..923f9a4036 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Blogs/BlogPostAdminController.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Blogs/BlogPostAdminController.cs
@@ -1,15 +1,18 @@
-using Microsoft.AspNetCore.Authorization;
-using Microsoft.AspNetCore.Mvc;
-using System;
+using System;
using System.Threading.Tasks;
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Mvc;
using Volo.Abp;
using Volo.Abp.Application.Dtos;
+using Volo.Abp.Features;
using Volo.Abp.GlobalFeatures;
+using Volo.CmsKit.Features;
using Volo.CmsKit.GlobalFeatures;
using Volo.CmsKit.Permissions;
namespace Volo.CmsKit.Admin.Blogs;
+[RequiresFeature(CmsKitFeatures.BlogEnable)]
[RequiresGlobalFeature(typeof(BlogsFeature))]
[RemoteService(Name = CmsKitAdminRemoteServiceConsts.RemoteServiceName)]
[Area(CmsKitAdminRemoteServiceConsts.ModuleName)]
@@ -61,7 +64,7 @@ public class BlogPostAdminController : CmsKitAdminController, IBlogPostAdminAppS
{
return BlogPostAdminAppService.UpdateAsync(id, input);
}
-
+
[HttpPost]
[Route("{id}/publish")]
[Authorize(CmsKitAdminPermissions.BlogPosts.Publish)]
@@ -69,7 +72,7 @@ public class BlogPostAdminController : CmsKitAdminController, IBlogPostAdminAppS
{
return BlogPostAdminAppService.PublishAsync(id);
}
-
+
[HttpPost]
[Route("{id}/draft")]
[Authorize(CmsKitAdminPermissions.BlogPosts.Update)]
@@ -86,7 +89,7 @@ public class BlogPostAdminController : CmsKitAdminController, IBlogPostAdminAppS
{
return BlogPostAdminAppService.CreateAndPublishAsync(input);
}
-
+
[HttpPost]
[Route("{id}/send-to-review")]
[Authorize(CmsKitAdminPermissions.BlogPosts.Create)]
@@ -94,7 +97,7 @@ public class BlogPostAdminController : CmsKitAdminController, IBlogPostAdminAppS
{
return BlogPostAdminAppService.SendToReviewAsync(id);
}
-
+
[HttpPost]
[Route("create-and-send-to-review")]
[Authorize(CmsKitAdminPermissions.BlogPosts.Create)]
@@ -102,7 +105,7 @@ public class BlogPostAdminController : CmsKitAdminController, IBlogPostAdminAppS
{
return BlogPostAdminAppService.CreateAndSendToReviewAsync(input);
}
-
+
[HttpGet]
[Route("has-blogpost-waiting-for-review")]
[Authorize(CmsKitAdminPermissions.BlogPosts.Publish)]
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Comments/CommentAdminController.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Comments/CommentAdminController.cs
index 6082ad3794..f4813f61ad 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Comments/CommentAdminController.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Comments/CommentAdminController.cs
@@ -4,12 +4,15 @@ using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp;
using Volo.Abp.Application.Dtos;
+using Volo.Abp.Features;
using Volo.Abp.GlobalFeatures;
+using Volo.CmsKit.Features;
using Volo.CmsKit.GlobalFeatures;
using Volo.CmsKit.Permissions;
namespace Volo.CmsKit.Admin.Comments;
+[RequiresFeature(CmsKitFeatures.CommentEnable)]
[Authorize(CmsKitAdminPermissions.Comments.Default)]
[RequiresGlobalFeature(typeof(CommentsFeature))]
[RemoteService(Name = CmsKitAdminRemoteServiceConsts.RemoteServiceName)]
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/GlobalResources/GlobalResourceAdminController.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/GlobalResources/GlobalResourceAdminController.cs
index 3bfe51a600..b1ae9b3f2e 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/GlobalResources/GlobalResourceAdminController.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/GlobalResources/GlobalResourceAdminController.cs
@@ -2,18 +2,21 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp;
+using Volo.Abp.Features;
using Volo.Abp.GlobalFeatures;
+using Volo.CmsKit.Features;
using Volo.CmsKit.GlobalFeatures;
using Volo.CmsKit.Permissions;
namespace Volo.CmsKit.Admin.GlobalResources;
+[RequiresFeature(CmsKitFeatures.GlobalResourceEnable)]
[RequiresGlobalFeature(typeof(GlobalResourcesFeature))]
[RemoteService(Name = CmsKitAdminRemoteServiceConsts.RemoteServiceName)]
[Area(CmsKitAdminRemoteServiceConsts.ModuleName)]
[Authorize(CmsKitAdminPermissions.Menus.Default)]
[Route("api/cms-kit-admin/global-resources")]
-public class GlobalResourceAdminController: CmsKitAdminController, IGlobalResourceAdminAppService
+public class GlobalResourceAdminController : CmsKitAdminController, IGlobalResourceAdminAppService
{
private readonly IGlobalResourceAdminAppService _globalResourceAdminAppService;
@@ -21,7 +24,7 @@ public class GlobalResourceAdminController: CmsKitAdminController, IGlobalResour
{
_globalResourceAdminAppService = globalResourceAdminAppService;
}
-
+
[HttpGet]
public Task GetAsync()
{
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/MediaDescriptors/MediaDescriptorAdminController.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/MediaDescriptors/MediaDescriptorAdminController.cs
index f95d2a86b2..c304c5c684 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/MediaDescriptors/MediaDescriptorAdminController.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/MediaDescriptors/MediaDescriptorAdminController.cs
@@ -1,16 +1,15 @@
using System;
-using System.Net;
using System.Threading.Tasks;
-using Microsoft.AspNetCore.Authorization;
-using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp;
+using Volo.Abp.Features;
using Volo.Abp.GlobalFeatures;
+using Volo.CmsKit.Features;
using Volo.CmsKit.GlobalFeatures;
-using Volo.CmsKit.Permissions;
namespace Volo.CmsKit.Admin.MediaDescriptors;
+[RequiresFeature(CmsKitFeatures.MediaEnable)]
[RequiresGlobalFeature(typeof(MediaFeature))]
[RemoteService(Name = CmsKitAdminRemoteServiceConsts.RemoteServiceName)]
[Area(CmsKitAdminRemoteServiceConsts.ModuleName)]
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Menus/MenuItemAdminController.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Menus/MenuItemAdminController.cs
index de36883ff7..a0325f4f27 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Menus/MenuItemAdminController.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Menus/MenuItemAdminController.cs
@@ -1,16 +1,19 @@
-using Microsoft.AspNetCore.Authorization;
-using Microsoft.AspNetCore.Mvc;
-using System;
+using System;
using System.Threading.Tasks;
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Mvc;
using Volo.Abp;
using Volo.Abp.Application.Dtos;
+using Volo.Abp.Features;
using Volo.Abp.GlobalFeatures;
+using Volo.CmsKit.Features;
using Volo.CmsKit.GlobalFeatures;
using Volo.CmsKit.Menus;
using Volo.CmsKit.Permissions;
namespace Volo.CmsKit.Admin.Menus;
+[RequiresFeature(CmsKitFeatures.MenuEnable)]
[RequiresGlobalFeature(typeof(MenuFeature))]
[RemoteService(Name = CmsKitAdminRemoteServiceConsts.RemoteServiceName)]
[Area(CmsKitAdminRemoteServiceConsts.ModuleName)]
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Pages/PageAdminController.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Pages/PageAdminController.cs
index 7936b206e6..5acccb07aa 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Pages/PageAdminController.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Pages/PageAdminController.cs
@@ -4,13 +4,15 @@ using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp;
using Volo.Abp.Application.Dtos;
+using Volo.Abp.Features;
using Volo.Abp.GlobalFeatures;
-using Volo.CmsKit.Admin.Menus;
+using Volo.CmsKit.Features;
using Volo.CmsKit.GlobalFeatures;
using Volo.CmsKit.Permissions;
namespace Volo.CmsKit.Admin.Pages;
+[RequiresFeature(CmsKitFeatures.PageEnable)]
[RequiresGlobalFeature(typeof(PagesFeature))]
[RemoteService(Name = CmsKitAdminRemoteServiceConsts.RemoteServiceName)]
[Area(CmsKitAdminRemoteServiceConsts.ModuleName)]
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Tags/EntityTagAdminController.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Tags/EntityTagAdminController.cs
index 9df9394fdd..c57e7bb0a7 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Tags/EntityTagAdminController.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Tags/EntityTagAdminController.cs
@@ -1,13 +1,14 @@
-using Microsoft.AspNetCore.Authorization;
+using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
-using System.Threading.Tasks;
using Volo.Abp;
+using Volo.Abp.Features;
using Volo.Abp.GlobalFeatures;
+using Volo.CmsKit.Features;
using Volo.CmsKit.GlobalFeatures;
-using Volo.CmsKit.Permissions;
namespace Volo.CmsKit.Admin.Tags;
+[RequiresFeature(CmsKitFeatures.TagEnable)]
[RequiresGlobalFeature(typeof(TagsFeature))]
[RemoteService(Name = CmsKitAdminRemoteServiceConsts.RemoteServiceName)]
[Area(CmsKitAdminRemoteServiceConsts.ModuleName)]
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Tags/TagAdminController.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Tags/TagAdminController.cs
index c34107b742..db0131ba2f 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Tags/TagAdminController.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Tags/TagAdminController.cs
@@ -1,18 +1,20 @@
-using Microsoft.AspNetCore.Authorization;
-using Microsoft.AspNetCore.Mvc;
-using System;
+using System;
using System.Collections.Generic;
using System.Threading.Tasks;
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Mvc;
using Volo.Abp;
using Volo.Abp.Application.Dtos;
+using Volo.Abp.Features;
using Volo.Abp.GlobalFeatures;
-using Volo.CmsKit.Admin.Tags;
+using Volo.CmsKit.Features;
using Volo.CmsKit.GlobalFeatures;
using Volo.CmsKit.Permissions;
using Volo.CmsKit.Tags;
namespace Volo.CmsKit.Admin.Tags;
+[RequiresFeature(CmsKitFeatures.TagEnable)]
[RequiresGlobalFeature(typeof(TagsFeature))]
[RemoteService(Name = CmsKitAdminRemoteServiceConsts.RemoteServiceName)]
[Area(CmsKitAdminRemoteServiceConsts.ModuleName)]
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Menus/CmsKitAdminMenuContributor.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Menus/CmsKitAdminMenuContributor.cs
index bc9bbfb310..9cc76c080c 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Menus/CmsKitAdminMenuContributor.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Menus/CmsKitAdminMenuContributor.cs
@@ -2,8 +2,10 @@
using System.Linq;
using System.Threading.Tasks;
using Volo.Abp.Authorization.Permissions;
+using Volo.Abp.Features;
using Volo.Abp.GlobalFeatures;
using Volo.Abp.UI.Navigation;
+using Volo.CmsKit.Features;
using Volo.CmsKit.GlobalFeatures;
using Volo.CmsKit.Localization;
using Volo.CmsKit.Permissions;
@@ -36,6 +38,7 @@ public class CmsKitAdminMenuContributor : IMenuContributor
l["Pages"].Value,
"/Cms/Pages",
"fa fa-file-alt")
+ .RequireFeatures(CmsKitFeatures.PageEnable)
.RequireGlobalFeatures(typeof(PagesFeature))
.RequirePermissions(CmsKitAdminPermissions.Pages.Default));
@@ -44,6 +47,7 @@ public class CmsKitAdminMenuContributor : IMenuContributor
l["Blogs"],
"/Cms/Blogs",
"fa fa-blog")
+ .RequireFeatures(CmsKitFeatures.BlogEnable)
.RequireGlobalFeatures(typeof(BlogsFeature))
.RequirePermissions(CmsKitAdminPermissions.Blogs.Default));
@@ -52,6 +56,7 @@ public class CmsKitAdminMenuContributor : IMenuContributor
l["BlogPosts"],
"/Cms/BlogPosts",
"fa fa-file-signature")
+ .RequireFeatures(CmsKitFeatures.BlogEnable)
.RequireGlobalFeatures(typeof(BlogsFeature))
.RequirePermissions(CmsKitAdminPermissions.BlogPosts.Default));
@@ -60,6 +65,7 @@ public class CmsKitAdminMenuContributor : IMenuContributor
l["Tags"].Value,
"/Cms/Tags",
"fa fa-tags")
+ .RequireFeatures(CmsKitFeatures.TagEnable)
.RequireGlobalFeatures(typeof(TagsFeature))
.RequirePermissions(CmsKitAdminPermissions.Tags.Default));
@@ -68,6 +74,7 @@ public class CmsKitAdminMenuContributor : IMenuContributor
l["Comments"].Value,
"/Cms/Comments",
"fa fa-comments")
+ .RequireFeatures(CmsKitFeatures.CommentEnable)
.RequireGlobalFeatures(typeof(CommentsFeature))
.RequirePermissions(CmsKitAdminPermissions.Comments.Default));
@@ -76,6 +83,7 @@ public class CmsKitAdminMenuContributor : IMenuContributor
l["Menus"],
"/Cms/Menus/Items",
"fa fa-stream")
+ .RequireFeatures(CmsKitFeatures.MenuEnable)
.RequireGlobalFeatures(typeof(MenuFeature))
.RequirePermissions(CmsKitAdminPermissions.Menus.Default));
@@ -84,6 +92,7 @@ public class CmsKitAdminMenuContributor : IMenuContributor
l["GlobalResources"],
"/Cms/GlobalResources",
"fa fa-newspaper")
+ .RequireFeatures(CmsKitFeatures.GlobalResourceEnable)
.RequireGlobalFeatures(typeof(GlobalResourcesFeature))
.RequirePermissions(CmsKitAdminPermissions.GlobalResources.Default));
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/create.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/create.js
index 375b7ad41b..a101635d73 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/create.js
+++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/create.js
@@ -334,6 +334,25 @@ $(function () {
editor.insertText(txt);
});
+ $('.tab-item').on('click', function () {
+ if ($(this).attr("aria-label") == 'Preview' && editor.isMarkdownMode()) {
+
+ let content = editor.getMarkdown();
+ localStorage.setItem('content', content);
+
+ $.post("/CmsKitCommonWidgets/ContentPreview", { content: content }, function (result) {
+ editor.setHTML(result);
+
+ var highllightedText = $('#ContentEditor').find('.toastui-editor-md-preview-highlight');
+ highllightedText.removeClass('toastui-editor-md-preview-highlight');
+ });
+ }
+ else if ($(this).attr("aria-label") == 'Write') {
+ var retrievedObject = localStorage.getItem('content');
+ editor.setMarkdown(retrievedObject);
+ }
+ });
+
function createAddWidgetButton() {
const button = document.createElement('button');
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/update.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/update.js
index 51e3eda96c..d14194ecb5 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/update.js
+++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/update.js
@@ -255,6 +255,25 @@ $(function () {
editor.insertText(txt);
});
+ $('.tab-item').on('click', function () {
+ if ($(this).attr("aria-label") == 'Preview' && editor.isMarkdownMode()) {
+
+ let content = editor.getMarkdown();
+ localStorage.setItem('content', content);
+
+ $.post("/CmsKitCommonWidgets/ContentPreview", { content: content }, function (result) {
+ editor.setHTML(result);
+
+ var highllightedText = $('#ContentEditor').find('.toastui-editor-md-preview-highlight');
+ highllightedText.removeClass('toastui-editor-md-preview-highlight');
+ });
+ }
+ else if ($(this).attr("aria-label") == 'Write') {
+ var retrievedObject = localStorage.getItem('content');
+ editor.setMarkdown(retrievedObject);
+ }
+ });
+
function createAddWidgetButton() {
const button = document.createElement('button');
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/create.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/create.js
index 49a482bf33..ee6c7b7f9f 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/create.js
+++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/create.js
@@ -1,6 +1,6 @@
$(function () {
var l = abp.localization.getResource("CmsKit");
-
+
var $createForm = $('#form-page-create');
var $title = $('#ViewModel_Title');
var $slug = $('#ViewModel_Slug');
@@ -90,7 +90,7 @@ $(function () {
var fileUriPrefix = "/api/cms-kit/media/";
initEditor();
-
+
var editor;
function initEditor() {
var $editorContainer = $("#ContentEditor");
@@ -133,7 +133,7 @@ $(function () {
}
});
}
-
+
function uploadFile(blob, callback, source) {
var UPPY_OPTIONS = {
endpoint: fileUploadUri,
@@ -166,11 +166,37 @@ $(function () {
});
}
- $('#GeneratedWidgetText').on('change',function () {
+ $('#GeneratedWidgetText').on('change', function () {
var txt = $('#GeneratedWidgetText').val();
editor.insertText(txt);
});
-
+
+ $('.tab-item').on('click', function () {
+ if ($(this).attr("aria-label") == 'Preview' && editor.isMarkdownMode()) {
+
+ let content = editor.getMarkdown();
+ localStorage.setItem('content', content);
+
+ $.post("/CmsKitCommonWidgets/ContentPreview", { content: content }, function (result) {
+
+ let style = styleEditor.getValue();
+
+ $('#editor-preview-style').remove();
+
+ $('head').append('');
+
+ editor.setHTML(result);
+
+ var highllightedText = $('#ContentEditor').find('.toastui-editor-md-preview-highlight');
+ highllightedText.removeClass('toastui-editor-md-preview-highlight');
+ });
+ }
+ else if ($(this).attr("aria-label") == 'Write'){
+ var retrievedObject = localStorage.getItem('content');
+ editor.setMarkdown(retrievedObject);
+ }
+ });
+
function createAddWidgetButton() {
const button = document.createElement('button');
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/update.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/update.js
index 565f758552..c46f1c274c 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/update.js
+++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/update.js
@@ -140,7 +140,33 @@ $(function () {
var txt = $('#GeneratedWidgetText').val();
editor.insertText(txt);
});
-
+
+ $('.tab-item').on('click', function () {
+ if ($(this).attr("aria-label") == 'Preview' && editor.isMarkdownMode()) {
+
+ let content = editor.getMarkdown();
+ localStorage.setItem('content', content);
+
+ $.post("/CmsKitCommonWidgets/ContentPreview", { content: content }, function (result) {
+
+ let style = styleEditor.getValue();
+
+ $('#editor-preview-style').remove();
+
+ $('head').append('');
+
+ editor.setHTML(result);
+
+ var highllightedText = $('#ContentEditor').find('.toastui-editor-md-preview-highlight');
+ highllightedText.removeClass('toastui-editor-md-preview-highlight');
+ });
+ }
+ else if ($(this).attr("aria-label") == 'Write') {
+ var retrievedObject = localStorage.getItem('content');
+ editor.setMarkdown(retrievedObject);
+ }
+ });
+
function createAddWidgetButton() {
const button = document.createElement('button');
diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Blogs/BlogPostPublicDto.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Contents/BlogPostCommonDto.cs
similarity index 80%
rename from modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Blogs/BlogPostPublicDto.cs
rename to modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Contents/BlogPostCommonDto.cs
index 8c6a6a01e9..a7bc27d713 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Blogs/BlogPostPublicDto.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Contents/BlogPostCommonDto.cs
@@ -2,10 +2,10 @@
using Volo.Abp.Application.Dtos;
using Volo.CmsKit.Users;
-namespace Volo.CmsKit.Public.Blogs;
+namespace Volo.CmsKit.Contents;
[Serializable]
-public class BlogPostPublicDto : AuditedEntityDto
+public class BlogPostCommonDto : AuditedEntityDto
{
public Guid BlogId { get; set; }
@@ -20,4 +20,4 @@ public class BlogPostPublicDto : AuditedEntityDto
public Guid? CoverImageMediaId { get; set; }
public CmsUserDto Author { get; set; }
-}
+}
\ No newline at end of file
diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Contents/DefaultContentDto.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Contents/DefaultContentDto.cs
new file mode 100644
index 0000000000..731e346df4
--- /dev/null
+++ b/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Contents/DefaultContentDto.cs
@@ -0,0 +1,8 @@
+using System.Collections.Generic;
+
+namespace Volo.CmsKit.Contents;
+
+public class DefaultContentDto : IContent
+{
+ public List ContentFragments { get; set; }
+}
diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Contents/IContent.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Contents/IContent.cs
new file mode 100644
index 0000000000..2a393e0a14
--- /dev/null
+++ b/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Contents/IContent.cs
@@ -0,0 +1,7 @@
+using System.Collections.Generic;
+
+namespace Volo.CmsKit.Contents;
+public interface IContent
+{
+ public List ContentFragments { get; set; }
+}
diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Pages/PageDto.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Contents/PageDto.cs
similarity index 71%
rename from modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Pages/PageDto.cs
rename to modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Contents/PageDto.cs
index 6f18787a44..d495c5de20 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Pages/PageDto.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Contents/PageDto.cs
@@ -1,9 +1,8 @@
-using System;
-using System.Collections.Generic;
+using System.Collections.Generic;
+using System;
using Volo.Abp.Application.Dtos;
-using Volo.CmsKit.Contents;
-namespace Volo.CmsKit.Public.Pages;
+namespace Volo.CmsKit.Contents;
[Serializable]
public class PageDto : EntityDto
@@ -17,4 +16,4 @@ public class PageDto : EntityDto
public string Script { get; set; }
public string Style { get; set; }
-}
+}
\ No newline at end of file
diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Web/Controllers/CmsKitCommonWidgetsController.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Web/Controllers/CmsKitCommonWidgetsController.cs
new file mode 100644
index 0000000000..8e226a31f2
--- /dev/null
+++ b/modules/cms-kit/src/Volo.CmsKit.Common.Web/Controllers/CmsKitCommonWidgetsController.cs
@@ -0,0 +1,14 @@
+using Microsoft.AspNetCore.Mvc;
+using Volo.Abp.AspNetCore.Mvc;
+using Volo.CmsKit.Web.Pages.CmsKit.Components.ContentPreview;
+
+namespace Volo.CmsKit.Web.Controllers;
+
+public class CmsKitCommonWidgetsController : AbpController
+{
+ [HttpPost]
+ public IActionResult ContentPreview(ContentPreviewDto dto)
+ {
+ return ViewComponent(typeof(ContentPreviewViewComponent), new { content = dto.Content });
+ }
+}
diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Web/Pages/CmsKit/Components/ContentPreview/ContentPreviewDto.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Web/Pages/CmsKit/Components/ContentPreview/ContentPreviewDto.cs
new file mode 100644
index 0000000000..9c01a325bf
--- /dev/null
+++ b/modules/cms-kit/src/Volo.CmsKit.Common.Web/Pages/CmsKit/Components/ContentPreview/ContentPreviewDto.cs
@@ -0,0 +1,9 @@
+using System;
+
+namespace Volo.CmsKit.Web.Pages.CmsKit.Components.ContentPreview;
+
+[Serializable]
+public class ContentPreviewDto
+{
+ public string Content { get; set; }
+}
diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Web/Pages/CmsKit/Components/ContentPreview/ContentPreviewViewComponent.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Web/Pages/CmsKit/Components/ContentPreview/ContentPreviewViewComponent.cs
new file mode 100644
index 0000000000..2251f6d0cd
--- /dev/null
+++ b/modules/cms-kit/src/Volo.CmsKit.Common.Web/Pages/CmsKit/Components/ContentPreview/ContentPreviewViewComponent.cs
@@ -0,0 +1,31 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Mvc;
+using Volo.Abp.AspNetCore.Mvc;
+using Volo.CmsKit.Contents;
+using Volo.CmsKit.Web.Contents;
+
+namespace Volo.CmsKit.Web.Pages.CmsKit.Components.ContentPreview;
+
+public class ContentPreviewViewComponent : AbpViewComponent
+{
+ protected ContentParser ContentParser { get; }
+
+ public ContentPreviewViewComponent(ContentParser contentParser)
+ {
+ ContentParser = contentParser;
+ }
+
+ public virtual async Task InvokeAsync(string content)
+ {
+ var fragments = await ContentParser.ParseAsync(content);
+
+ return View("~/Pages/CmsKit/Components/ContentPreview/Default.cshtml", new DefaultContentDto
+ {
+ ContentFragments = fragments
+ });
+ }
+}
diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Web/Pages/CmsKit/Components/ContentPreview/Default.cshtml b/modules/cms-kit/src/Volo.CmsKit.Common.Web/Pages/CmsKit/Components/ContentPreview/Default.cshtml
new file mode 100644
index 0000000000..6baf41716e
--- /dev/null
+++ b/modules/cms-kit/src/Volo.CmsKit.Common.Web/Pages/CmsKit/Components/ContentPreview/Default.cshtml
@@ -0,0 +1,10 @@
+@using Volo.CmsKit.Contents
+@using Volo.CmsKit.Web.Pages.CmsKit.Components.Contents
+
+@model DefaultContentDto
+
+
+
+ @await Component.InvokeAsync(typeof(ContentFragmentViewComponent), Model)
+
+
\ No newline at end of file
diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Web/Contents/CmsKitContentWidgetOptions.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Web/Pages/CmsKit/Components/Contents/CmsKitContentWidgetOptions.cs
similarity index 100%
rename from modules/cms-kit/src/Volo.CmsKit.Common.Web/Contents/CmsKitContentWidgetOptions.cs
rename to modules/cms-kit/src/Volo.CmsKit.Common.Web/Pages/CmsKit/Components/Contents/CmsKitContentWidgetOptions.cs
diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Web/Pages/CmsKit/Components/Contents/ContentFragment.cshtml b/modules/cms-kit/src/Volo.CmsKit.Common.Web/Pages/CmsKit/Components/Contents/ContentFragment.cshtml
new file mode 100644
index 0000000000..0fa7d59064
--- /dev/null
+++ b/modules/cms-kit/src/Volo.CmsKit.Common.Web/Pages/CmsKit/Components/Contents/ContentFragment.cshtml
@@ -0,0 +1,20 @@
+@using System.Dynamic
+@using Volo.Abp.Data
+@using Volo.CmsKit.Web.Renderers;
+@using Volo.CmsKit.Web.Pages.CmsKit.Components.Contents;
+
+@model ContentFragmentViewComponent
+
+@inject IMarkdownToHtmlRenderer MarkdownRenderer
+
+@foreach (var contentFragment in Model.ContentDto.ContentFragments)
+{
+ if (contentFragment.Type == "Markdown")
+ {
+ @Html.Raw(await MarkdownRenderer.RenderAsync(contentFragment.GetProperty("Content")))
+ }
+ else if (contentFragment.Type == "Widget")
+ {
+ @await Component.InvokeAsync(contentFragment.GetProperty("Type"), contentFragment.ExtraProperties.ConvertToDynamicObject())
+ }
+}
\ No newline at end of file
diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Web/Pages/CmsKit/Components/Contents/ContentFragmentViewComponent.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Web/Pages/CmsKit/Components/Contents/ContentFragmentViewComponent.cs
new file mode 100644
index 0000000000..d276165982
--- /dev/null
+++ b/modules/cms-kit/src/Volo.CmsKit.Common.Web/Pages/CmsKit/Components/Contents/ContentFragmentViewComponent.cs
@@ -0,0 +1,21 @@
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Mvc;
+using Volo.Abp.AspNetCore.Mvc;
+using Volo.Abp.AspNetCore.Mvc.UI.Widgets;
+using Volo.CmsKit.Contents;
+
+namespace Volo.CmsKit.Web.Pages.CmsKit.Components.Contents;
+
+[ViewComponent(Name = "ContentFragment")]
+[Widget(
+ AutoInitialize = true
+)]
+public class ContentFragmentViewComponent : AbpViewComponent
+{
+ public IContent ContentDto { get; set; }
+
+ public virtual async Task InvokeAsync(IContent contentDto)
+ {
+ return View("~/Pages/CmsKit/Components/Contents/ContentFragment.cshtml", new ContentFragmentViewComponent() { ContentDto = contentDto });
+ }
+}
\ No newline at end of file
diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Web/Contents/ContentParser.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Web/Pages/CmsKit/Components/Contents/ContentParser.cs
similarity index 100%
rename from modules/cms-kit/src/Volo.CmsKit.Common.Web/Contents/ContentParser.cs
rename to modules/cms-kit/src/Volo.CmsKit.Common.Web/Pages/CmsKit/Components/Contents/ContentParser.cs
diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Web/Contents/ContentWidgetConfig.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Web/Pages/CmsKit/Components/Contents/ContentWidgetConfig.cs
similarity index 100%
rename from modules/cms-kit/src/Volo.CmsKit.Common.Web/Contents/ContentWidgetConfig.cs
rename to modules/cms-kit/src/Volo.CmsKit.Common.Web/Pages/CmsKit/Components/Contents/ContentWidgetConfig.cs
diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Web/Contents/IContentRenderer.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Web/Pages/CmsKit/Components/Contents/IContentRenderer.cs
similarity index 66%
rename from modules/cms-kit/src/Volo.CmsKit.Common.Web/Contents/IContentRenderer.cs
rename to modules/cms-kit/src/Volo.CmsKit.Common.Web/Pages/CmsKit/Components/Contents/IContentRenderer.cs
index 879b27cda7..b33c044392 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Common.Web/Contents/IContentRenderer.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Common.Web/Pages/CmsKit/Components/Contents/IContentRenderer.cs
@@ -1,6 +1,6 @@
using System.Threading.Tasks;
-namespace Volo.CmsKit.Web.Contents;
+namespace Volo.CmsKit.Web.Pages.CmsKit.Components.Contents;
public interface IContentRenderer
{
diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Web/Contents/PlainTextContentRenderer.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Web/Pages/CmsKit/Components/Contents/PlainTextContentRenderer.cs
similarity index 80%
rename from modules/cms-kit/src/Volo.CmsKit.Common.Web/Contents/PlainTextContentRenderer.cs
rename to modules/cms-kit/src/Volo.CmsKit.Common.Web/Pages/CmsKit/Components/Contents/PlainTextContentRenderer.cs
index cf68e25e15..3fcc78f658 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Common.Web/Contents/PlainTextContentRenderer.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Common.Web/Pages/CmsKit/Components/Contents/PlainTextContentRenderer.cs
@@ -1,7 +1,7 @@
using System.Threading.Tasks;
using Volo.Abp.DependencyInjection;
-namespace Volo.CmsKit.Web.Contents;
+namespace Volo.CmsKit.Web.Pages.CmsKit.Components.Contents;
public class PlainTextContentRenderer : IContentRenderer, ITransientDependency
{
diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Renderers/IMarkdownToHtmlRenderer.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Web/Renderers/IMarkdownToHtmlRenderer.cs
similarity index 80%
rename from modules/cms-kit/src/Volo.CmsKit.Public.Web/Renderers/IMarkdownToHtmlRenderer.cs
rename to modules/cms-kit/src/Volo.CmsKit.Common.Web/Renderers/IMarkdownToHtmlRenderer.cs
index 0dd60f34c5..565437af7e 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Renderers/IMarkdownToHtmlRenderer.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Common.Web/Renderers/IMarkdownToHtmlRenderer.cs
@@ -1,6 +1,6 @@
using System.Threading.Tasks;
-namespace Volo.CmsKit.Public.Web.Renderers;
+namespace Volo.CmsKit.Web.Renderers;
public interface IMarkdownToHtmlRenderer
{
diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Renderers/MarkdownToHtmlRenderer.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Web/Renderers/MarkdownToHtmlRenderer.cs
similarity index 98%
rename from modules/cms-kit/src/Volo.CmsKit.Public.Web/Renderers/MarkdownToHtmlRenderer.cs
rename to modules/cms-kit/src/Volo.CmsKit.Common.Web/Renderers/MarkdownToHtmlRenderer.cs
index 4ef7c82c0d..83317c2111 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Renderers/MarkdownToHtmlRenderer.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Common.Web/Renderers/MarkdownToHtmlRenderer.cs
@@ -7,7 +7,7 @@ using Ganss.XSS;
using Markdig;
using Volo.Abp.DependencyInjection;
-namespace Volo.CmsKit.Public.Web.Renderers;
+namespace Volo.CmsKit.Web.Renderers;
public class MarkdownToHtmlRenderer : IMarkdownToHtmlRenderer, ITransientDependency
{
diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Web/Volo.CmsKit.Common.Web.csproj b/modules/cms-kit/src/Volo.CmsKit.Common.Web/Volo.CmsKit.Common.Web.csproj
index 1ca9a78b27..e717f49be5 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Common.Web/Volo.CmsKit.Common.Web.csproj
+++ b/modules/cms-kit/src/Volo.CmsKit.Common.Web/Volo.CmsKit.Common.Web.csproj
@@ -1,38 +1,40 @@
-
-
+
+
-
- net6.0
- $(AssetTargetFallback);portable-net45+win8+wp8+wpa81;
- true
- Library
- Volo.CmsKit.Web
- true
-
+
+ net6.0
+ $(AssetTargetFallback);portable-net45+win8+wp8+wpa81;
+ true
+ Library
+ Volo.CmsKit.Web
+ true
+
-
-
-
-
-
+
+
+
+
+
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo.CmsKit.Domain.Shared.csproj b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo.CmsKit.Domain.Shared.csproj
index 22160272fd..550a704a75 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo.CmsKit.Domain.Shared.csproj
+++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo.CmsKit.Domain.Shared.csproj
@@ -12,6 +12,7 @@
+
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Features/CmsKitFeatureDefinitionProvider.cs b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Features/CmsKitFeatureDefinitionProvider.cs
new file mode 100644
index 0000000000..597e5240e8
--- /dev/null
+++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Features/CmsKitFeatureDefinitionProvider.cs
@@ -0,0 +1,73 @@
+using Volo.Abp.Features;
+using Volo.Abp.Localization;
+using Volo.Abp.Validation.StringValues;
+using Volo.CmsKit.Localization;
+
+namespace Volo.CmsKit.Features;
+public class CmsKitFeatureDefinitionProvider : FeatureDefinitionProvider
+{
+ public override void Define(IFeatureDefinitionContext context)
+ {
+ var group = context.AddGroup(CmsKitFeatures.GroupName,
+ L("Feature:CmsKitGroup"));
+
+ group.AddFeature(CmsKitFeatures.BlogEnable,
+ "true",
+ L("Feature:BlogEnable"),
+ L("Feature:BlogEnableDescription"),
+ new ToggleStringValueType());
+
+ group.AddFeature(CmsKitFeatures.CommentEnable,
+ "true",
+ L("Feature:CommentEnable"),
+ L("Feature:CommentEnableDescription"),
+ new ToggleStringValueType());
+
+ group.AddFeature(CmsKitFeatures.GlobalResourceEnable,
+ "true",
+ L("Feature:GlobalResourceEnable"),
+ L("Feature:GlobalResourceEnableDescription"),
+ new ToggleStringValueType());
+
+ group.AddFeature(CmsKitFeatures.MediaEnable,
+ "true",
+ L("Feature:MediaEnable"),
+ L("Feature:MediaEnableDescription"),
+ new ToggleStringValueType());
+
+ group.AddFeature(CmsKitFeatures.MenuEnable,
+ "true",
+ L("Feature:MenuEnable"),
+ L("Feature:MenuEnableDescription"),
+ new ToggleStringValueType());
+
+ group.AddFeature(CmsKitFeatures.PageEnable,
+ "true",
+ L("Feature:PageEnable"),
+ L("Feature:PageEnableDescription"),
+ new ToggleStringValueType());
+
+ group.AddFeature(CmsKitFeatures.RatingEnable,
+ "true",
+ L("Feature:RatingEnable"),
+ L("Feature:RatingEnableDescription"),
+ new ToggleStringValueType());
+
+ group.AddFeature(CmsKitFeatures.ReactionEnable,
+ "true",
+ L("Feature:ReactionEnable"),
+ L("Feature:ReactionEnableDescription"),
+ new ToggleStringValueType());
+
+ group.AddFeature(CmsKitFeatures.TagEnable,
+ "true",
+ L("Feature:TagEnable"),
+ L("Feature:TagEnableDescription"),
+ new ToggleStringValueType());
+ }
+
+ private static LocalizableString L(string name)
+ {
+ return LocalizableString.Create(name);
+ }
+}
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Features/CmsKitFeatures.cs b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Features/CmsKitFeatures.cs
new file mode 100644
index 0000000000..1dbf642755
--- /dev/null
+++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Features/CmsKitFeatures.cs
@@ -0,0 +1,15 @@
+namespace Volo.CmsKit.Features;
+public static class CmsKitFeatures
+{
+ public const string GroupName = "CmsKit";
+
+ public const string BlogEnable = GroupName + ".BlogEnable";
+ public const string CommentEnable = GroupName + ".CommentEnable";
+ public const string GlobalResourceEnable = GroupName + ".GlobalResourceEnable";
+ public const string MediaEnable = GroupName + ".MediaEnable";
+ public const string MenuEnable = GroupName + ".MenuEnable";
+ public const string PageEnable = GroupName + ".PageEnable";
+ public const string RatingEnable = GroupName + ".RatingEnable";
+ public const string ReactionEnable = GroupName + ".ReactionEnable";
+ public const string TagEnable = GroupName + ".TagEnable";
+}
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/GlobalFeatures/ContentsFeature.cs b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/GlobalFeatures/ContentsFeature.cs
new file mode 100644
index 0000000000..ac752a68c4
--- /dev/null
+++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/GlobalFeatures/ContentsFeature.cs
@@ -0,0 +1,28 @@
+using JetBrains.Annotations;
+using Volo.Abp.GlobalFeatures;
+
+namespace Volo.CmsKit.GlobalFeatures;
+
+[GlobalFeatureName(Name)]
+public class ContentsFeature : GlobalFeature
+{
+ public const string Name = "CmsKit.Contents";
+
+ internal ContentsFeature(
+ [NotNull] GlobalCmsKitFeatures cmsKit
+ ) : base(cmsKit)
+ {
+
+ }
+
+ public override void Enable()
+ {
+ var userFeature = FeatureManager.Modules.CmsKit().User;
+ if (!userFeature.IsEnabled)
+ {
+ userFeature.Enable();
+ }
+
+ base.Enable();
+ }
+}
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ar.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ar.json
index 922059463f..3119bf618c 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ar.json
+++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ar.json
@@ -75,7 +75,7 @@
"PageDeletionConfirmationMessage": "هل أنت متأكد من حذف هذه الصفحة؟",
"PageId": "صفحة",
"Pages": "الصفحات",
- "PageSlugInformation": "سبيكة تستخدم على url. سيكون عنوان url الخاص بك هو \"/pages/{{slug}}\".",
+ "PageSlugInformation": "سبيكة تستخدم على url. سيكون عنوان url الخاص بك هو \"/{slug}}\".",
"Permission:BlogManagement": "إدارة المدونة",
"Permission:BlogManagement.Create": "إنشاء",
"Permission:BlogManagement.Delete": "حذف",
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/cs.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/cs.json
index 9192b48abe..8ae9479b06 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/cs.json
+++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/cs.json
@@ -75,7 +75,7 @@
"PageDeletionConfirmationMessage": "Opravdu chcete smazat tuto stránku?",
"PageId": "Strana",
"Pages": "stránky",
- "PageSlugInformation": "Na adrese URL je použit Slug. Vaše adresa URL bude '/pages/{{slug}}'.",
+ "PageSlugInformation": "Na adrese URL je použit Slug. Vaše adresa URL bude '/{{slug}}'.",
"Permission:BlogManagement": "Správa blogu",
"Permission:BlogManagement.Create": "Vytvořit",
"Permission:BlogManagement.Delete": "Vymazat",
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/de-DE.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/de-DE.json
index 903a7e3d0a..857f7f1e1a 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/de-DE.json
+++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/de-DE.json
@@ -75,7 +75,7 @@
"PageDeletionConfirmationMessage": "Möchten Sie diese Seite wirklich löschen?",
"PageId": "Buchseite",
"Pages": "Seiten",
- "PageSlugInformation": "Slug wird auf URL verwendet. Ihre URL lautet '/pages/{{slug}}'.",
+ "PageSlugInformation": "Slug wird auf URL verwendet. Ihre URL lautet '/{{slug}}'.",
"Permission:BlogManagement": "Blog-Verwaltung",
"Permission:BlogManagement.Create": "Schaffen",
"Permission:BlogManagement.Delete": "Löschen",
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/el.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/el.json
index 222cbe0fbd..7a838b120a 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/el.json
+++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/el.json
@@ -75,7 +75,7 @@
"PageDeletionConfirmationMessage": "Είστε βέβαιοι ότι θα διαγράψετε αυτήν τη σελίδα;",
"PageId": "Σελίδα",
"Pages": "Σελίδες",
- "PageSlugInformation": "Το Slug χρησιμοποιείται στο url. Το url σας θα είναι '/pages/{{slug}}'.",
+ "PageSlugInformation": "Το Slug χρησιμοποιείται στο url. Το url σας θα είναι '/{{slug}}'.",
"Permission:BlogManagement": "Διαχείριση ιστολογίου",
"Permission:BlogManagement.Create": "Δημιουργώ",
"Permission:BlogManagement.Delete": "Διαγράφω",
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json
index 8da6be8bd5..0faaf04e81 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json
+++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json
@@ -75,7 +75,7 @@
"PageDeletionConfirmationMessage": "Are you sure to delete this page?",
"PageId": "Page",
"Pages": "Pages",
- "PageSlugInformation": "Slug is used on url. Your url will be '/pages/{{slug}}'.",
+ "PageSlugInformation": "Slug is used on url. Your url will be '/{{slug}}'.",
"Permission:BlogManagement": "Blog Management",
"Permission:BlogManagement.Create": "Create",
"Permission:BlogManagement.Delete": "Delete",
@@ -185,8 +185,27 @@
"Add": "Add",
"AddWidget": "Add Widget",
"PleaseConfigureWidgets": "Please configure widgets",
- "SelectAnAuthor":"Select an Author",
- "InThisDocument":"In This Document",
- "GoToTop":"Go To Top"
+ "SelectAnAuthor": "Select an Author",
+ "InThisDocument": "In This Document",
+ "GoToTop": "Go To Top",
+ "Feature:CmsKitGroup": "Cms Kit",
+ "Feature:BlogEnable": "Enabled blog page",
+ "Feature:BlogEnableDescription": "Enable blog page in the application.",
+ "Feature:CommentEnable": "Enabled commenting",
+ "Feature:CommentEnableDescription": "Enable comment in the application.",
+ "Feature:GlobalResourceEnable": "Enabled global resourcing",
+ "Feature:GlobalResourceEnableDescription": "Enable global resource in the application.",
+ "Feature:MediaEnable": "Enabled media",
+ "Feature:MediaEnableDescription": "Enable media in the application.",
+ "Feature:MenuEnable": "Enabled menu",
+ "Feature:MenuEnableDescription": "Enable menu in the application.",
+ "Feature:PageEnable": "Enabled paging page",
+ "Feature:PageEnableDescription": "Enable paging page in the application.",
+ "Feature:RatingEnable": "Enabled rating",
+ "Feature:RatingEnableDescription": "Enable rating in the application.",
+ "Feature:ReactionEnable": "Enabled reaction",
+ "Feature:ReactionEnableDescription": "Enable reaction in the application.",
+ "Feature:TagEnable": "Enabled taging",
+ "Feature:TagEnableDescription": "Enable taging in the application."
}
}
\ No newline at end of file
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/es.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/es.json
index 19df2c45a2..8e8750e530 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/es.json
+++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/es.json
@@ -75,7 +75,7 @@
"PageDeletionConfirmationMessage": "¿Está seguro de eliminar esta página?",
"PageId": "Página",
"Pages": "Paginas",
- "PageSlugInformation": "Slug se usa en la URL. Su URL será '/pages/{{slug}}'.",
+ "PageSlugInformation": "Slug se usa en la URL. Su URL será '/{{slug}}'.",
"Permission:BlogManagement": "Gestión de blogs",
"Permission:BlogManagement.Create": "Crear",
"Permission:BlogManagement.Delete": "Borrar",
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fa.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fa.json
index 3ac961feef..855b6d091d 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fa.json
+++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fa.json
@@ -75,7 +75,7 @@
"PageDeletionConfirmationMessage": "آیا مطمئن هستید که این صفحه را حذف می کنید؟",
"PageId": "صفحه",
"Pages": "صفحات",
- "PageSlugInformation": "Slug در url استفاده می شود. آدرس اینترنتی شما '/pages/{{slug}}' خواهد بود.",
+ "PageSlugInformation": "Slug در url استفاده می شود. آدرس اینترنتی شما '/{{slug}}' خواهد بود.",
"Permission:BlogManagement": "مدیریت وبلاگ",
"Permission:BlogManagement.Create": "ایجاد",
"Permission:BlogManagement.Delete": "حذف",
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fi.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fi.json
index 30a56fa9c0..438818cdfb 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fi.json
+++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fi.json
@@ -75,7 +75,7 @@
"PageDeletionConfirmationMessage": "Haluatko varmasti poistaa tämän sivun?",
"PageId": "Sivu",
"Pages": "Sivut",
- "PageSlugInformation": "Etanaa käytetään URL-osoitteessa. URL-osoitteesi on '/pages/{{slug}}'.",
+ "PageSlugInformation": "Etanaa käytetään URL-osoitteessa. URL-osoitteesi on '/{{slug}}'.",
"Permission:BlogManagement": "Blogin hallinta",
"Permission:BlogManagement.Create": "Luoda",
"Permission:BlogManagement.Delete": "Poistaa",
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fr.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fr.json
index 6d4e8f4cf5..5c789e996e 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fr.json
+++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fr.json
@@ -75,7 +75,7 @@
"PageDeletionConfirmationMessage": "Êtes-vous sûr de vouloir supprimer cette page?",
"PageId": "Page",
"Pages": "Pages",
- "PageSlugInformation": "Slug est utilisé sur l'url. Votre URL sera '/pages/{{slug}}'.",
+ "PageSlugInformation": "Slug est utilisé sur l'url. Votre URL sera '/{{slug}}'.",
"Permission:BlogManagement": "Gestion de blog",
"Permission:BlogManagement.Create": "Créer",
"Permission:BlogManagement.Delete": "Effacer",
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hi.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hi.json
index 732ca3d2de..8f69f2e25f 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hi.json
+++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hi.json
@@ -75,7 +75,7 @@
"PageDeletionConfirmationMessage": "क्या आप इस पृष्ठ को हटाना सुनिश्चित कर रहे हैं?",
"PageId": "पृष्ठ",
"Pages": "पृष्ठों",
- "PageSlugInformation": "स्लग का उपयोग url पर किया जाता है। आपका url '/pages/{{slug}}' होगा।",
+ "PageSlugInformation": "स्लग का उपयोग url पर किया जाता है। आपका url '/{{slug}}' होगा।",
"Permission:BlogManagement": "ब्लॉग प्रबंधन",
"Permission:BlogManagement.Create": "सृजन करना",
"Permission:BlogManagement.Delete": "हटाएं",
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hu.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hu.json
index 49b7d5f828..ebeb5dad25 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hu.json
+++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hu.json
@@ -75,7 +75,7 @@
"PageDeletionConfirmationMessage": "Biztosan törlöd ezt az oldalt?",
"PageId": "oldal",
"Pages": "Oldalak",
- "PageSlugInformation": "A Slug az url-en használatos. Az Ön URL-je a következő lesz: „/pages/{{slug}}”.",
+ "PageSlugInformation": "A Slug az url-en használatos. Az Ön URL-je a következő lesz: „/{{slug}}”.",
"Permission:BlogManagement": "Blogkezelés",
"Permission:BlogManagement.Create": "Teremt",
"Permission:BlogManagement.Delete": "Töröl",
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/it.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/it.json
index f5bb342dc6..60c8d13744 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/it.json
+++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/it.json
@@ -75,7 +75,7 @@
"PageDeletionConfirmationMessage": "Sei sicuro di cancellare questa pagina?",
"PageId": "Pagina",
"Pages": "Pagine",
- "PageSlugInformation": "Lo slug viene utilizzato sull'URL. Il tuo URL sarà '/pages/{{slug}}'.",
+ "PageSlugInformation": "Lo slug viene utilizzato sull'URL. Il tuo URL sarà '/{{slug}}'.",
"Permission:BlogManagement": "Gestione del blog",
"Permission:BlogManagement.Create": "Crea",
"Permission:BlogManagement.Delete": "Elimina",
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/nl.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/nl.json
index b8adbbd5bb..39779d1d57 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/nl.json
+++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/nl.json
@@ -75,7 +75,7 @@
"PageDeletionConfirmationMessage": "Weet u zeker dat u deze pagina wilt verwijderen?",
"PageId": "Bladzijde",
"Pages": "Pagina's",
- "PageSlugInformation": "Slug wordt gebruikt voor de url. Uw url wordt '/pages/{{slug}}'.",
+ "PageSlugInformation": "Slug wordt gebruikt voor de url. Uw url wordt '/{{slug}}'.",
"Permission:BlogManagement": "Blogbeheer",
"Permission:BlogManagement.Create": "Toevoegen",
"Permission:BlogManagement.Delete": "Verwijderen",
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/pl-PL.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/pl-PL.json
index 6c5e77a7d3..5a2ed06a5d 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/pl-PL.json
+++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/pl-PL.json
@@ -75,7 +75,7 @@
"PageDeletionConfirmationMessage": "Czy na pewno chcesz usunąć tę stronę?",
"PageId": "Strona",
"Pages": "Strony",
- "PageSlugInformation": "Slug jest używany na adresie URL. Twój adres URL to „/pages/{{slug}}”.",
+ "PageSlugInformation": "Slug jest używany na adresie URL. Twój adres URL to „/{{slug}}”.",
"Permission:BlogManagement": "Zarządzanie blogiem",
"Permission:BlogManagement.Create": "Tworzyć",
"Permission:BlogManagement.Delete": "Kasować",
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/pt-BR.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/pt-BR.json
index 5ec2a64799..fff05fefdd 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/pt-BR.json
+++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/pt-BR.json
@@ -75,7 +75,7 @@
"PageDeletionConfirmationMessage": "Tem certeza que deseja deletar esta página?",
"PageId": "Página",
"Pages": "Páginas",
- "PageSlugInformation": "Slug é usado na url. Sua url será '/pages/{{slug}}'.",
+ "PageSlugInformation": "Slug é usado na url. Sua url será '/{{slug}}'.",
"Permission:BlogManagement": "Gerenciamento de blogs",
"Permission:BlogManagement.Create": "Criar",
"Permission:BlogManagement.Delete": "Excluir",
@@ -181,6 +181,31 @@
"HasBlogPostWaitingForReviewMessage": "Você tem uma postagem para revisão. Clique para listar.",
"SelectAStatus": "Selecione um status",
"Status": "Status",
- "CmsKit.BlogPost.ScrollIndex": "Barra de navegação rápida em postagens"
+ "CmsKit.BlogPost.ScrollIndex": "Barra de navegação rápida em postagens",
+ "Add": "Adicionar",
+ "AddWidget": "Adicionar Widget",
+ "PleaseConfigureWidgets": "Por favor, configure os widgets",
+ "SelectAnAuthor": "Selecione um Autor",
+ "InThisDocument": "Neste Documento",
+ "GoToTop": "Ir para o Topo",
+ "Feature:CmsKitGroup": "Cms Kit",
+ "Feature:BlogEnable": "Habilitar página de blog",
+ "Feature:BlogEnableDescription": "Habilitar página de blog no aplicativo.",
+ "Feature:CommentEnable": "Habilitar comentários",
+ "Feature:CommentEnableDescription": "Habilitar comentários no aplicativo.",
+ "Feature:GlobalResourceEnable": "Recursos globais ativados",
+ "Feature:GlobalResourceEnableDescription": "Habilitar recurso global no aplicativo.",
+ "Feature:MediaEnable": "Mídia ativada",
+ "Feature:MediaEnableDescription": "Mídia ativada no aplicativo.",
+ "Feature:MenuEnable": "Menu habilitado",
+ "Feature:MenuEnableDescription": "Menu habilitado no aplicativo.",
+ "Feature:PageEnable": "Página de paginação ativada",
+ "Feature:PageEnableDescription": "Página de paginação ativada no aplicativo.",
+ "Feature:RatingEnable": "Classificação ativada",
+ "Feature:RatingEnableDescription": "Classificação ativada no aplicativo.",
+ "Feature:ReactionEnable": "Reações habilitadas",
+ "Feature:ReactionEnableDescription": "Reações habilitadas no aplicativo.",
+ "Feature:TagEnable": "Habilitar tag",
+ "Feature:TagEnableDescription": "Habilitar tag no aplicativo."
}
}
\ No newline at end of file
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ro-RO.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ro-RO.json
index 3e7e1caaa9..9cd519bb53 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ro-RO.json
+++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ro-RO.json
@@ -75,7 +75,7 @@
"PageDeletionConfirmationMessage": "Sunteţi sigur(ă) că vreţi să ştergeţi această pagină?",
"PageId": "Pagina",
"Pages": "Pagini",
- "PageSlugInformation": "Slug este folosit pe url. Url-ul dumneavoastră va fi '/pages/{{slug}}'.",
+ "PageSlugInformation": "Slug este folosit pe url. Url-ul dumneavoastră va fi '/{{slug}}'.",
"Permission:BlogManagement": "Administrare Blog",
"Permission:BlogManagement.Create": "Creează",
"Permission:BlogManagement.Delete": "Şterge",
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ru.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ru.json
index 289b952e1b..f95ee910e4 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ru.json
+++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ru.json
@@ -75,7 +75,7 @@
"PageDeletionConfirmationMessage": "Вы уверены, что хотите удалить эту страницу?",
"PageId": "Страница",
"Pages": "Страницы",
- "PageSlugInformation": "Слаг используется для URL. Ваш URL-адрес будет '/pages/{{slug}}'.",
+ "PageSlugInformation": "Слаг используется для URL. Ваш URL-адрес будет '/{{slug}}'.",
"Permission:BlogManagement": "Управление блогом",
"Permission:BlogManagement.Create": "Создавать",
"Permission:BlogManagement.Delete": "Удалить",
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/sk.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/sk.json
index d5873f42e1..2cf9410ca9 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/sk.json
+++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/sk.json
@@ -75,7 +75,7 @@
"PageDeletionConfirmationMessage": "Určite chcete túto stránku vymazať?",
"PageId": "Stránka",
"Pages": "Stránky",
- "PageSlugInformation": "Slug sa používa v URL. Vaša URL bude '/pages/{{slug}}'.",
+ "PageSlugInformation": "Slug sa používa v URL. Vaša URL bude '/{{slug}}'.",
"Permission:BlogManagement": "Správa blogov",
"Permission:BlogManagement.Create": "Vytvoriť",
"Permission:BlogManagement.Delete": "Zmazať",
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/sl.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/sl.json
index 0a79428aac..22f252ea51 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/sl.json
+++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/sl.json
@@ -75,7 +75,7 @@
"PageDeletionConfirmationMessage": "Ali ste prepričani, da želite izbrisati to stran?",
"PageId": "stran",
"Pages": "strani",
- "PageSlugInformation": "Slug se uporablja na url-ju. Vaš url bo '/pages/{{slug}}'.",
+ "PageSlugInformation": "Slug se uporablja na url-ju. Vaš url bo '/{{slug}}'.",
"Permission:BlogManagement": "Upravljanje blogov",
"Permission:BlogManagement.Create": "Ustvari",
"Permission:BlogManagement.Delete": "Izbriši",
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/tr.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/tr.json
index 431c50596c..78fb34087b 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/tr.json
+++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/tr.json
@@ -75,7 +75,7 @@
"PageDeletionConfirmationMessage": "Bu sayfayı silmek istediğinize emin misiniz?",
"PageId": "Sayfa",
"Pages": "Sayfalar",
- "PageSlugInformation": "Etiket URL'de kullanılır. Url şöyle görünür: '/pages/{{slug}}'.",
+ "PageSlugInformation": "Etiket URL'de kullanılır. Url şöyle görünür: '/{{slug}}'.",
"Permission:BlogManagement": "Blog Yönetimi",
"Permission:BlogManagement.Create": "Oluşturma",
"Permission:BlogManagement.Delete": "Silme",
@@ -190,6 +190,25 @@
"CmsKit.BlogPost.ScrollIndex": "Blog yazılarında hızlı gezinme çubuğu",
"Add": "Ekle",
"AddWidget": "Widget Ekle",
- "PleaseConfigureWidgets": "Lütfen widget'leri yapılandırın"
+ "PleaseConfigureWidgets": "Lütfen widget'leri yapılandırın",
+ "Feature:CmsKitGroup": "Cms Kit",
+ "Feature:BlogEnable": "Blog sayfasını etkinleştirin",
+ "Feature:BlogEnableDescription": "Uygulamınızdaki blog sayfasını etkinleştirir.",
+ "Feature:CommentEnable": "Yorum özelliğini etkinleştirin",
+ "Feature:CommentEnableDescription": "Uygulamınızdaki yorum özelliğini etkinleştirir.",
+ "Feature:GlobalResourceEnable": "Blog global kaynakları etkinleştirin",
+ "Feature:GlobalResourceEnableDescription": "Uygulamınızdaki global kaynakları etkinleştirir.",
+ "Feature:MediaEnable": "Medyayı etkinleştirin",
+ "Feature:MediaEnableDescription": "Uygulamınızdaki medyayı etkinleştirir.",
+ "Feature:MenuEnable": "Menüyü etkinleştirin",
+ "Feature:MenuEnableDescription": "Uygulamınızdaki menüyü etkinleştirir.",
+ "Feature:PageEnable": "Sayfa özelliğini etkinleştirin",
+ "Feature:PageEnableDescription": "Uygulamınızdaki sayfa özelliğini etkinleştirir.",
+ "Feature:RatingEnable": "Oylamayı etkinleştirin",
+ "Feature:RatingEnableDescription": "Uygulamınızdaki oylamayı etkinleştirir.",
+ "Feature:ReactionEnable": "Reaksiyonları etkinleştirin",
+ "Feature:ReactionEnableDescription": "Uygulamınızdaki reaksiyonları etkinleştirir.",
+ "Feature:TagEnable": "Etkiketleri etkinleştirin",
+ "Feature:TagEnableDescription": "Uygulamınızdaki etiketleri etkinleştirir."
}
}
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/vi.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/vi.json
index b0ed51a5d6..a581da6362 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/vi.json
+++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/vi.json
@@ -75,7 +75,7 @@
"PageDeletionConfirmationMessage": "Bạn có chắc chắn xóa trang này không?",
"PageId": "Trang",
"Pages": "Các trang",
- "PageSlugInformation": "Slug được sử dụng trên url. Url của bạn sẽ là '/pages/{{slug}}'.",
+ "PageSlugInformation": "Slug được sử dụng trên url. Url của bạn sẽ là '/{{slug}}'.",
"Permission:BlogManagement": "Quản lý blog",
"Permission:BlogManagement.Create": "Tạo ra",
"Permission:BlogManagement.Delete": "Xóa bỏ",
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/zh-Hans.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/zh-Hans.json
index b312349ef4..bba6fff938 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/zh-Hans.json
+++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/zh-Hans.json
@@ -75,7 +75,7 @@
"PageDeletionConfirmationMessage": "你确定删除这个页面吗?",
"PageId": "页",
"Pages": "页面",
- "PageSlugInformation": "Slug用于url. 你的url将是 '/pages/{{slug}}'.",
+ "PageSlugInformation": "Slug用于url. 你的url将是 '/{{slug}}'.",
"Permission:BlogManagement": "博客管理",
"Permission:BlogManagement.Create": "创建",
"Permission:BlogManagement.Delete": "删除",
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/zh-Hant.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/zh-Hant.json
index 49584e5af0..91a742deba 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/zh-Hant.json
+++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/zh-Hant.json
@@ -75,7 +75,7 @@
"PageDeletionConfirmationMessage": "你確定刪除這個頁面嗎?",
"PageId": "頁",
"Pages": "頁面",
- "PageSlugInformation": "Slug用於網址. 你的網址將是 '/pages/{{slug}}'.",
+ "PageSlugInformation": "Slug用於網址. 你的網址將是 '/{{slug}}'.",
"Permission:BlogManagement": "部落格管理",
"Permission:BlogManagement.Create": "創建",
"Permission:BlogManagement.Delete": "刪除",
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Pages/PageConsts.cs b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Pages/PageConsts.cs
index 9f03dc809f..ff07df87a1 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Pages/PageConsts.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Pages/PageConsts.cs
@@ -2,7 +2,7 @@
namespace Volo.CmsKit.Pages;
-public class PageConsts
+public static class PageConsts
{
public const string EntityType = "Page";
@@ -16,7 +16,7 @@ public class PageConsts
public static int MaxStyleLength { get; set; } = int.MaxValue;
- private static string _urlPrefix = "/pages/";
+ private static string _urlPrefix = "/";
public static string UrlPrefix {
get => _urlPrefix;
set => _urlPrefix = value.EnsureEndsWith('/').EnsureStartsWith('/');
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/CmsKitDbProperties.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/AbpCmsKitDbProperties.cs
similarity index 83%
rename from modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/CmsKitDbProperties.cs
rename to modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/AbpCmsKitDbProperties.cs
index 6a29834233..1ce1fd8413 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/CmsKitDbProperties.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/AbpCmsKitDbProperties.cs
@@ -1,6 +1,6 @@
namespace Volo.CmsKit;
-public static class CmsKitDbProperties
+public static class AbpCmsKitDbProperties
{
public static string DbTablePrefix { get; set; } = "Cms";
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/EntityTagManager.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/EntityTagManager.cs
index 2707b8854c..98a401af17 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/EntityTagManager.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/EntityTagManager.cs
@@ -1,9 +1,9 @@
-using JetBrains.Annotations;
-using System;
+using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
+using JetBrains.Annotations;
using Volo.Abp.Domain.Services;
namespace Volo.CmsKit.Tags;
@@ -62,7 +62,7 @@ public class EntityTagManager : DomainService
var deletedTags = existingTags.Where(x => !tags.Contains(x.Name)).ToList();
var addedTags = tags.Where(x => !existingTags.Any(a => a.Name == x));
- await EntityTagRepository.DeleteManyAsync(deletedTags.Select(s => s.Id).ToArray());
+ await EntityTagRepository.DeleteManyAsync(deletedTags.Select(s => s.Id).ToArray(), entityId);
foreach (var addedTag in addedTags)
{
@@ -85,6 +85,6 @@ public class EntityTagManager : DomainService
[CanBeNull] Guid? tenantId,
CancellationToken cancellationToken = default)
{
- return await EntityTagRepository.GetEntityIdsFilteredByTagNameAsync(tagName, entityType,tenantId, cancellationToken);
+ return await EntityTagRepository.GetEntityIdsFilteredByTagNameAsync(tagName, entityType, tenantId, cancellationToken);
}
}
\ No newline at end of file
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/IEntityTagRepository.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/IEntityTagRepository.cs
index 5105635c82..098ac8e46c 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/IEntityTagRepository.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/IEntityTagRepository.cs
@@ -1,8 +1,8 @@
-using JetBrains.Annotations;
-using System;
+using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
+using JetBrains.Annotations;
using Volo.Abp.Domain.Repositories;
namespace Volo.CmsKit.Tags;
@@ -15,7 +15,7 @@ public interface IEntityTagRepository : IBasicRepository
[CanBeNull] Guid? tenantId,
CancellationToken cancellationToken = default);
- Task DeleteManyAsync(Guid[] tagIds, CancellationToken cancellationToken = default);
+ Task DeleteManyAsync(Guid[] tagIds, string entityId, CancellationToken cancellationToken = default);
Task> GetEntityIdsFilteredByTagAsync(
[NotNull] Guid tagId,
@@ -25,6 +25,6 @@ public interface IEntityTagRepository : IBasicRepository
Task> GetEntityIdsFilteredByTagNameAsync(
[NotNull] string tagName,
[NotNull] string entityType,
- [CanBeNull] Guid? tenantId=null,
- CancellationToken cancellationToken=default);
+ [CanBeNull] Guid? tenantId = null,
+ CancellationToken cancellationToken = default);
}
diff --git a/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/EntityFrameworkCore/CmsKitDbContext.cs b/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/EntityFrameworkCore/CmsKitDbContext.cs
index 8f501f4c98..265495f5bf 100644
--- a/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/EntityFrameworkCore/CmsKitDbContext.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/EntityFrameworkCore/CmsKitDbContext.cs
@@ -14,7 +14,7 @@ using Volo.CmsKit.Users;
namespace Volo.CmsKit.EntityFrameworkCore;
-[ConnectionStringName(CmsKitDbProperties.ConnectionStringName)]
+[ConnectionStringName(AbpCmsKitDbProperties.ConnectionStringName)]
public class CmsKitDbContext : AbpDbContext, ICmsKitDbContext
{
public DbSet Comments { get; set; }
diff --git a/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/EntityFrameworkCore/CmsKitDbContextModelCreatingExtensions.cs b/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/EntityFrameworkCore/CmsKitDbContextModelCreatingExtensions.cs
index 9ab103fefc..9a42f6c4b0 100644
--- a/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/EntityFrameworkCore/CmsKitDbContextModelCreatingExtensions.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/EntityFrameworkCore/CmsKitDbContextModelCreatingExtensions.cs
@@ -28,7 +28,7 @@ public static class CmsKitDbContextModelCreatingExtensions
{
builder.Entity(b =>
{
- b.ToTable(CmsKitDbProperties.DbTablePrefix + "Users", CmsKitDbProperties.DbSchema);
+ b.ToTable(AbpCmsKitDbProperties.DbTablePrefix + "Users", AbpCmsKitDbProperties.DbSchema);
b.ConfigureByConvention();
b.ConfigureAbpUser();
@@ -48,7 +48,7 @@ public static class CmsKitDbContextModelCreatingExtensions
{
builder.Entity(b =>
{
- b.ToTable(CmsKitDbProperties.DbTablePrefix + "UserReactions", CmsKitDbProperties.DbSchema);
+ b.ToTable(AbpCmsKitDbProperties.DbTablePrefix + "UserReactions", AbpCmsKitDbProperties.DbSchema);
b.ConfigureByConvention();
@@ -71,7 +71,7 @@ public static class CmsKitDbContextModelCreatingExtensions
{
builder.Entity(b =>
{
- b.ToTable(CmsKitDbProperties.DbTablePrefix + "Comments", CmsKitDbProperties.DbSchema);
+ b.ToTable(AbpCmsKitDbProperties.DbTablePrefix + "Comments", AbpCmsKitDbProperties.DbSchema);
b.ConfigureByConvention();
@@ -95,7 +95,7 @@ public static class CmsKitDbContextModelCreatingExtensions
{
builder.Entity(r =>
{
- r.ToTable(CmsKitDbProperties.DbTablePrefix + "Ratings", CmsKitDbProperties.DbSchema);
+ r.ToTable(AbpCmsKitDbProperties.DbTablePrefix + "Ratings", AbpCmsKitDbProperties.DbSchema);
r.ConfigureByConvention();
@@ -117,7 +117,7 @@ public static class CmsKitDbContextModelCreatingExtensions
{
builder.Entity(b =>
{
- b.ToTable(CmsKitDbProperties.DbTablePrefix + "Tags", CmsKitDbProperties.DbSchema);
+ b.ToTable(AbpCmsKitDbProperties.DbTablePrefix + "Tags", AbpCmsKitDbProperties.DbSchema);
b.ConfigureByConvention();
@@ -134,7 +134,7 @@ public static class CmsKitDbContextModelCreatingExtensions
builder.Entity(b =>
{
- b.ToTable(CmsKitDbProperties.DbTablePrefix + "EntityTags", CmsKitDbProperties.DbSchema);
+ b.ToTable(AbpCmsKitDbProperties.DbTablePrefix + "EntityTags", AbpCmsKitDbProperties.DbSchema);
b.ConfigureByConvention();
@@ -158,7 +158,7 @@ public static class CmsKitDbContextModelCreatingExtensions
{
builder.Entity(b =>
{
- b.ToTable(CmsKitDbProperties.DbTablePrefix + "Pages", CmsKitDbProperties.DbSchema);
+ b.ToTable(AbpCmsKitDbProperties.DbTablePrefix + "Pages", AbpCmsKitDbProperties.DbSchema);
b.ConfigureByConvention();
@@ -180,7 +180,7 @@ public static class CmsKitDbContextModelCreatingExtensions
{
builder.Entity(b =>
{
- b.ToTable(CmsKitDbProperties.DbTablePrefix + "Blogs", CmsKitDbProperties.DbSchema);
+ b.ToTable(AbpCmsKitDbProperties.DbTablePrefix + "Blogs", AbpCmsKitDbProperties.DbSchema);
b.ConfigureByConvention();
@@ -193,7 +193,7 @@ public static class CmsKitDbContextModelCreatingExtensions
builder.Entity(b =>
{
- b.ToTable(CmsKitDbProperties.DbTablePrefix + "BlogPosts", CmsKitDbProperties.DbSchema);
+ b.ToTable(AbpCmsKitDbProperties.DbTablePrefix + "BlogPosts", AbpCmsKitDbProperties.DbSchema);
b.ConfigureByConvention();
@@ -210,7 +210,7 @@ public static class CmsKitDbContextModelCreatingExtensions
builder.Entity(b =>
{
- b.ToTable(CmsKitDbProperties.DbTablePrefix + "BlogFeatures", CmsKitDbProperties.DbSchema);
+ b.ToTable(AbpCmsKitDbProperties.DbTablePrefix + "BlogFeatures", AbpCmsKitDbProperties.DbSchema);
b.ConfigureByConvention();
@@ -230,7 +230,7 @@ public static class CmsKitDbContextModelCreatingExtensions
{
builder.Entity(b =>
{
- b.ToTable(CmsKitDbProperties.DbTablePrefix + "MediaDescriptors", CmsKitDbProperties.DbSchema);
+ b.ToTable(AbpCmsKitDbProperties.DbTablePrefix + "MediaDescriptors", AbpCmsKitDbProperties.DbSchema);
b.ConfigureByConvention();
@@ -251,7 +251,7 @@ public static class CmsKitDbContextModelCreatingExtensions
{
builder.Entity