Browse Source

Merge branch 'salihozkara/blogImprovements' into salihozkara/abpUnited

pull/19876/head
Salih 3 years ago
parent
commit
300ab6584d
  1. 2
      modules/blogging/src/Volo.Blogging.Web/AbpBloggingWebAutoMapperProfile.cs
  2. 2
      modules/blogging/src/Volo.Blogging.Web/BloggingUrlOptions.cs
  3. 2
      modules/blogging/src/Volo.Blogging.Web/BloggingWebModule.cs
  4. 6
      modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/BloggingPageHelper.cs
  5. 12
      modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/BloggingPageModel.cs
  6. 3
      modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Index.cshtml
  7. 4
      modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Index.cshtml.cs
  8. 6
      modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/Detail.cshtml
  9. 5
      modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/Detail.cshtml.cs
  10. 4
      modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/Edit.cshtml
  11. 7
      modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/Edit.cshtml.cs
  12. 8
      modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/Index.cshtml
  13. 11
      modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/Index.cshtml.cs
  14. 4
      modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/New.cshtml
  15. 5
      modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/New.cshtml.cs

2
modules/blogging/src/Volo.Blogging.Web/AbpBloggingWebAutoMapperProfile.cs

@ -1,6 +1,6 @@
using AutoMapper; using AutoMapper;
using Volo.Abp.AutoMapper; using Volo.Abp.AutoMapper;
using Volo.Blogging.Pages.Blog.Posts; using Volo.Blogging.Pages.Blogs.Posts;
using Volo.Blogging.Posts; using Volo.Blogging.Posts;
namespace Volo.Blogging namespace Volo.Blogging

2
modules/blogging/src/Volo.Blogging.Web/BloggingUrlOptions.cs

@ -41,7 +41,7 @@ namespace Volo.Blogging
/// Determines whether to enable single blog mode by removing the blog name from the routing. /// Determines whether to enable single blog mode by removing the blog name from the routing.
/// When enabled, only a single blog is allowed within the module. /// When enabled, only a single blog is allowed within the module.
/// </summary> /// </summary>
public bool Enable { get; set; } public bool Enabled { get; set; }
public string BlogName { get; set; } public string BlogName { get; set; }
} }

2
modules/blogging/src/Volo.Blogging.Web/BloggingWebModule.cs

@ -92,7 +92,7 @@ namespace Volo.Blogging
var routePrefix = urlOptions.RoutePrefix; var routePrefix = urlOptions.RoutePrefix;
if (urlOptions.SingleBlogMode.Enable) if (urlOptions.SingleBlogMode.Enabled)
{ {
options.Conventions.AddPageRoute("/Blogs/Posts/Index", routePrefix); options.Conventions.AddPageRoute("/Blogs/Posts/Index", routePrefix);
options.Conventions.AddPageRoute("/Blogs/Posts/Detail", routePrefix + "{postUrl}"); options.Conventions.AddPageRoute("/Blogs/Posts/Detail", routePrefix + "{postUrl}");

6
modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/BloggingPageHelper.cs

@ -1,16 +1,14 @@
using System; using System;
using System.Globalization;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using Markdig;
using Microsoft.AspNetCore.Html; using Microsoft.AspNetCore.Html;
using Microsoft.AspNetCore.Mvc.Localization; using Microsoft.AspNetCore.Mvc.Localization;
using Markdig;
using Volo.Abp.DependencyInjection; using Volo.Abp.DependencyInjection;
using Volo.Abp.Localization;
using Volo.Blogging.Localization; using Volo.Blogging.Localization;
namespace Volo.Blogging.Pages.Blog namespace Volo.Blogging.Pages.Blogs
{ {
public class BloggingPageHelper : ITransientDependency public class BloggingPageHelper : ITransientDependency
{ {

12
modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/BloggingPageModel.cs

@ -1,10 +1,11 @@
using System; using System;
using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.AspNetCore.Mvc.UI.RazorPages; using Volo.Abp.AspNetCore.Mvc.UI.RazorPages;
using Volo.Blogging.Blogs; using Volo.Blogging.Blogs;
using Volo.Blogging.Blogs.Dtos; using Volo.Blogging.Blogs.Dtos;
namespace Volo.Blogging.Pages.Blog namespace Volo.Blogging.Pages.Blogs
{ {
public abstract class BloggingPageModel : AbpPageModel public abstract class BloggingPageModel : AbpPageModel
{ {
@ -15,7 +16,7 @@ namespace Volo.Blogging.Pages.Blog
protected async Task<BlogDto> GetBlogAsync(IBlogAppService blogAppService, BloggingUrlOptions blogOptions, string blogShortName) protected async Task<BlogDto> GetBlogAsync(IBlogAppService blogAppService, BloggingUrlOptions blogOptions, string blogShortName)
{ {
if (!blogOptions.SingleBlogMode.Enable) if (!blogOptions.SingleBlogMode.Enabled)
{ {
return await blogAppService.GetByShortNameAsync(blogShortName); return await blogAppService.GetByShortNameAsync(blogShortName);
} }
@ -26,12 +27,7 @@ namespace Volo.Blogging.Pages.Blog
} }
var blogs = await blogAppService.GetListAsync(); var blogs = await blogAppService.GetListAsync();
if (blogs.Items.Count == 1) return blogs.Items.Count == 1 ? blogs.Items[0] : blogs.Items.SingleOrDefault(x => x.ShortName == blogShortName);
{
return blogs.Items[0];
}
return await blogAppService.GetByShortNameAsync(blogOptions.SingleBlogMode.BlogName);
} }
} }
} }

3
modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Index.cshtml

@ -1,9 +1,8 @@
@page @page
@using Volo.Blogging.Pages.Blog
@using Microsoft.AspNetCore.Mvc.Localization @using Microsoft.AspNetCore.Mvc.Localization
@using Volo.Blogging.Localization @using Volo.Blogging.Localization
@inject IHtmlLocalizer<BloggingResource> L @inject IHtmlLocalizer<BloggingResource> L
@model IndexModel @model Volo.Blogging.Pages.Blogs.IndexModel
@{ @{
ViewBag.PageTitle = "Blogs"; ViewBag.PageTitle = "Blogs";
} }

4
modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Index.cshtml.cs

@ -6,7 +6,7 @@ using Volo.Abp.AspNetCore.Mvc.UI.RazorPages;
using Volo.Blogging.Blogs; using Volo.Blogging.Blogs;
using Volo.Blogging.Blogs.Dtos; using Volo.Blogging.Blogs.Dtos;
namespace Volo.Blogging.Pages.Blog namespace Volo.Blogging.Pages.Blogs
{ {
public class IndexModel : AbpPageModel public class IndexModel : AbpPageModel
{ {
@ -23,7 +23,7 @@ namespace Volo.Blogging.Pages.Blog
public virtual async Task<IActionResult> OnGetAsync() public virtual async Task<IActionResult> OnGetAsync()
{ {
if (_blogOptions.SingleBlogMode.Enable) if (_blogOptions.SingleBlogMode.Enabled)
{ {
return RedirectToPage("./Posts/Index"); return RedirectToPage("./Posts/Index");
} }

6
modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/Detail.cshtml

@ -5,7 +5,6 @@
@using Microsoft.Extensions.Options @using Microsoft.Extensions.Options
@using Volo.Abp.Users @using Volo.Abp.Users
@using Volo.Blogging @using Volo.Blogging
@using Volo.Blogging.Pages.Blog.Posts
@using Volo.Blogging.Areas.Blog.Helpers.TagHelpers @using Volo.Blogging.Areas.Blog.Helpers.TagHelpers
@using Volo.Abp.AspNetCore.Mvc.UI.Packages.Prismjs @using Volo.Abp.AspNetCore.Mvc.UI.Packages.Prismjs
@using Volo.Blogging.SocialMedia @using Volo.Blogging.SocialMedia
@ -14,11 +13,12 @@
@using Microsoft.AspNetCore.Mvc.Localization @using Microsoft.AspNetCore.Mvc.Localization
@using Microsoft.AspNetCore.Mvc.TagHelpers @using Microsoft.AspNetCore.Mvc.TagHelpers
@using Volo.Blogging.Localization @using Volo.Blogging.Localization
@using Volo.Blogging.Pages.Blog @using Volo.Blogging.Pages.Blogs
@using Volo.Blogging.Pages.Blogs.Posts
@inject IHtmlLocalizer<BloggingResource> L @inject IHtmlLocalizer<BloggingResource> L
@inject BloggingPageHelper BloggingPageHelper @inject BloggingPageHelper BloggingPageHelper
@inject ICurrentUser CurrentUser @inject ICurrentUser CurrentUser
@model DetailModel @model Volo.Blogging.Pages.Blogs.Posts.DetailModel
@{ @{
ViewBag.Title = Model.Post.Title; ViewBag.Title = Model.Post.Title;
ViewBag.Description = Model.Post.Description; ViewBag.Description = Model.Post.Description;

5
modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/Detail.cshtml.cs

@ -4,7 +4,6 @@ using System.Threading.Tasks;
using System.Web; using System.Web;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using Volo.Abp.AspNetCore.Mvc.UI.RazorPages;
using Volo.Blogging.Blogs; using Volo.Blogging.Blogs;
using Volo.Blogging.Blogs.Dtos; using Volo.Blogging.Blogs.Dtos;
using Volo.Blogging.Comments; using Volo.Blogging.Comments;
@ -12,7 +11,7 @@ using Volo.Blogging.Comments.Dtos;
using Volo.Blogging.Pages.Blogs.Shared.Helpers; using Volo.Blogging.Pages.Blogs.Shared.Helpers;
using Volo.Blogging.Posts; using Volo.Blogging.Posts;
namespace Volo.Blogging.Pages.Blog.Posts namespace Volo.Blogging.Pages.Blogs.Posts
{ {
public class DetailModel : BloggingPageModel public class DetailModel : BloggingPageModel
{ {
@ -64,7 +63,7 @@ namespace Volo.Blogging.Pages.Blog.Posts
return NotFound(); return NotFound();
} }
if (_blogOptions.SingleBlogMode.Enable) if (_blogOptions.SingleBlogMode.Enabled)
{ {
BlogShortName = _blogOptions.SingleBlogMode.BlogName; BlogShortName = _blogOptions.SingleBlogMode.BlogName;
} }

4
modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/Edit.cshtml

@ -1,11 +1,11 @@
@page @page
@using Volo.Abp.AspNetCore.Mvc.UI.Packages.TuiEditor @using Volo.Abp.AspNetCore.Mvc.UI.Packages.TuiEditor
@using Volo.Blogging.Pages.Blog.Posts
@using Volo.Blogging.Posts @using Volo.Blogging.Posts
@using Microsoft.AspNetCore.Mvc.Localization @using Microsoft.AspNetCore.Mvc.Localization
@using Volo.Blogging.Localization @using Volo.Blogging.Localization
@using Volo.Blogging.Pages.Blogs.Posts
@inject IHtmlLocalizer<BloggingResource> L @inject IHtmlLocalizer<BloggingResource> L
@model EditModel @model Volo.Blogging.Pages.Blogs.Posts.EditModel
@{ @{
ViewBag.PageTitle = "Edit Blog Post"; ViewBag.PageTitle = "Edit Blog Post";
} }

7
modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/Edit.cshtml.cs

@ -7,14 +7,13 @@ using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using Volo.Abp.AspNetCore.Mvc.UI.RazorPages;
using Volo.Abp.Domain.Entities; using Volo.Abp.Domain.Entities;
using Volo.Abp.Validation; using Volo.Abp.Validation;
using Volo.Blogging.Blogs; using Volo.Blogging.Blogs;
using Volo.Blogging.Pages.Blogs.Shared.Helpers; using Volo.Blogging.Pages.Blogs.Shared.Helpers;
using Volo.Blogging.Posts; using Volo.Blogging.Posts;
namespace Volo.Blogging.Pages.Blog.Posts namespace Volo.Blogging.Pages.Blogs.Posts
{ {
public class EditModel : BloggingPageModel public class EditModel : BloggingPageModel
{ {
@ -47,7 +46,7 @@ namespace Volo.Blogging.Pages.Blog.Posts
return Redirect("/"); return Redirect("/");
} }
if (_blogOptions.SingleBlogMode.Enable) if (_blogOptions.SingleBlogMode.Enabled)
{ {
BlogShortName = _blogOptions.SingleBlogMode.BlogName; BlogShortName = _blogOptions.SingleBlogMode.BlogName;
} }
@ -88,7 +87,7 @@ namespace Volo.Blogging.Pages.Blog.Posts
{ nameof(DetailModel.PostUrl), editedPost.Url } { nameof(DetailModel.PostUrl), editedPost.Url }
}; };
if (!_blogOptions.SingleBlogMode.Enable) if (!_blogOptions.SingleBlogMode.Enabled)
{ {
routeValues.Add(nameof(DetailModel.BlogShortName), blog.ShortName); routeValues.Add(nameof(DetailModel.BlogShortName), blog.ShortName);
} }

8
modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/Index.cshtml

@ -4,17 +4,17 @@
@using Volo.Abp.AspNetCore.Mvc.UI.Packages.OwlCarousel @using Volo.Abp.AspNetCore.Mvc.UI.Packages.OwlCarousel
@using Volo.Blogging @using Volo.Blogging
@inject IAuthorizationService Authorization @inject IAuthorizationService Authorization
@model Volo.Blogging.Pages.Blog.Posts.IndexModel @model IndexModel
@using Microsoft.Extensions.Localization @using Microsoft.Extensions.Localization
@using Microsoft.Extensions.Options @using Microsoft.Extensions.Options
@using Volo.Blogging.Localization @using Volo.Blogging.Localization
@using Volo.Blogging.Pages.Blog @using Volo.Blogging.Pages.Blogs
@using IndexModel = Volo.Blogging.Pages.Blog.Posts.IndexModel @using IndexModel = Volo.Blogging.Pages.Blogs.Posts.IndexModel
@inject IStringLocalizer<BloggingResource> L @inject IStringLocalizer<BloggingResource> L
@inject BloggingPageHelper BloggingPageHelper @inject BloggingPageHelper BloggingPageHelper
@{ @{
ViewBag.Title = "Read All Blog Posts"; ViewBag.Title = "Read All Blog Posts";
var blogShortNameRouteParam = Model.BlogOptions.SingleBlogMode.Enable ? null : Model.BlogShortName; var blogShortNameRouteParam = Model.BlogOptions.SingleBlogMode.Enabled ? null : Model.BlogShortName;
} }
@section scripts { @section scripts {
<abp-script-bundle name="@typeof(IndexModel).FullName"> <abp-script-bundle name="@typeof(IndexModel).FullName">

11
modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/Index.cshtml.cs

@ -1,9 +1,7 @@
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using Volo.Abp.AspNetCore.Mvc.UI.RazorPages;
using Volo.Abp.Domain.Entities; using Volo.Abp.Domain.Entities;
using Volo.Blogging.Blogs; using Volo.Blogging.Blogs;
using Volo.Blogging.Blogs.Dtos; using Volo.Blogging.Blogs.Dtos;
@ -12,7 +10,7 @@ using Volo.Blogging.Posts;
using Volo.Blogging.Tagging; using Volo.Blogging.Tagging;
using Volo.Blogging.Tagging.Dtos; using Volo.Blogging.Tagging.Dtos;
namespace Volo.Blogging.Pages.Blog.Posts namespace Volo.Blogging.Pages.Blogs.Posts
{ {
public class IndexModel : BloggingPageModel public class IndexModel : BloggingPageModel
{ {
@ -54,7 +52,12 @@ namespace Volo.Blogging.Pages.Blog.Posts
BlogShortName = Blog.ShortName; BlogShortName = Blog.ShortName;
} }
catch (EntityNotFoundException) catch (EntityNotFoundException)
{ {
if (BlogOptions.SingleBlogMode.Enabled)
{
return NotFound();
}
return RedirectToPage("/Blogs/Index"); return RedirectToPage("/Blogs/Index");
} }

4
modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/New.cshtml

@ -1,11 +1,11 @@
@page @page
@using Volo.Abp.AspNetCore.Mvc.UI.Packages.TuiEditor @using Volo.Abp.AspNetCore.Mvc.UI.Packages.TuiEditor
@using Volo.Blogging.Pages.Blog.Posts
@using Volo.Blogging.Posts @using Volo.Blogging.Posts
@using Microsoft.AspNetCore.Mvc.Localization @using Microsoft.AspNetCore.Mvc.Localization
@using Volo.Blogging.Localization @using Volo.Blogging.Localization
@using Volo.Blogging.Pages.Blogs.Posts
@inject IHtmlLocalizer<BloggingResource> L @inject IHtmlLocalizer<BloggingResource> L
@model NewModel @model Volo.Blogging.Pages.Blogs.Posts.NewModel
@{ @{
ViewBag.PageTitle = @L["NewBlogPost"]; ViewBag.PageTitle = @L["NewBlogPost"];
} }

5
modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/New.cshtml.cs

@ -6,14 +6,13 @@ using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using Volo.Abp.AspNetCore.Mvc.UI.RazorPages;
using Volo.Abp.Validation; using Volo.Abp.Validation;
using Volo.Blogging.Blogs; using Volo.Blogging.Blogs;
using Volo.Blogging.Blogs.Dtos; using Volo.Blogging.Blogs.Dtos;
using Volo.Blogging.Pages.Blogs.Shared.Helpers; using Volo.Blogging.Pages.Blogs.Shared.Helpers;
using Volo.Blogging.Posts; using Volo.Blogging.Posts;
namespace Volo.Blogging.Pages.Blog.Posts namespace Volo.Blogging.Pages.Blogs.Posts
{ {
public class NewModel : BloggingPageModel public class NewModel : BloggingPageModel
{ {
@ -78,7 +77,7 @@ namespace Volo.Blogging.Pages.Blog.Posts
{ nameof(DetailModel.PostUrl), postWithDetailsDto.Url } { nameof(DetailModel.PostUrl), postWithDetailsDto.Url }
}; };
if (!_blogOptions.SingleBlogMode.Enable) if (!_blogOptions.SingleBlogMode.Enabled)
{ {
routeValues.Add(nameof(DetailModel.BlogShortName), blog.ShortName); routeValues.Add(nameof(DetailModel.BlogShortName), blog.ShortName);
} }

Loading…
Cancel
Save